projects
/
citadel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
validate_recipients() remove extra copy of recipients
[citadel.git]
/
citadel
/
server
/
internet_addressing.c
diff --git
a/citadel/server/internet_addressing.c
b/citadel/server/internet_addressing.c
index f9bd07309c38e8b1e171d08f6fcbda27e3a4839a..0bc7507043ca955a99fbfe271a076cf35e294641 100644
(file)
--- a/
citadel/server/internet_addressing.c
+++ b/
citadel/server/internet_addressing.c
@@
-3,8
+3,7
@@
//
// Copyright (c) 1987-2024 by the citadel.org team
//
//
// Copyright (c) 1987-2024 by the citadel.org team
//
-// This program is open source software. Use, duplication, or disclosure
-// is subject to the terms of the GNU General Public License, version 3.
+// This program is open source software. Use, duplication, or disclosure is subject to the GNU General Public License version 3.
#include "sysdep.h"
#include <stdlib.h>
#include "sysdep.h"
#include <stdlib.h>
@@
-296,9
+295,8
@@
Array *split_recps(char *addresses, Array *append_to) {
//
// Caller needs to free the result using free_recipients()
//
//
// Caller needs to free the result using free_recipients()
//
-struct recptypes *validate_recipients(char *
supplied_recipients, const char *RemoteIdentifier
, int Flags) {
+struct recptypes *validate_recipients(char *
recipients_in, const char *REMOVE_THIS_UNUSED_VARIABLE
, int Flags) {
struct recptypes *ret;
struct recptypes *ret;
- char *recipients = NULL;
char append[SIZ];
long len;
int mailtype;
char append[SIZ];
long len;
int mailtype;
@@
-314,14
+312,7
@@
struct recptypes *validate_recipients(char *supplied_recipients, const char *Rem
if (ret == NULL) return(NULL);
memset(ret, 0, sizeof(struct recptypes)); // set all values to null/zero
if (ret == NULL) return(NULL);
memset(ret, 0, sizeof(struct recptypes)); // set all values to null/zero
- if (supplied_recipients == NULL) {
- recipients = strdup("");
- }
- else {
- recipients = strdup(supplied_recipients);
- }
-
- len = strlen(recipients) + 1024; // allocate memory
+ len = strlen(recipients_in) + 1024; // allocate memory
ret->errormsg = malloc(len);
ret->recp_local = malloc(len);
ret->recp_internet = malloc(len);
ret->errormsg = malloc(len);
ret->recp_local = malloc(len);
ret->recp_internet = malloc(len);
@@
-337,7
+328,7
@@
struct recptypes *validate_recipients(char *supplied_recipients, const char *Rem
ret->display_recp[0] = 0;
ret->recptypes_magic = RECPTYPES_MAGIC;
ret->display_recp[0] = 0;
ret->recptypes_magic = RECPTYPES_MAGIC;
- Array *recp_array = split_recps(
supplied_recipients
, NULL);
+ Array *recp_array = split_recps(
recipients_in
, NULL);
char *aliases = CtdlGetSysConfig(GLOBAL_ALIASES); // First hit the Global Alias Table
char *aliases = CtdlGetSysConfig(GLOBAL_ALIASES); // First hit the Global Alias Table
@@
-509,7
+500,6
@@
struct recptypes *validate_recipients(char *supplied_recipients, const char *Rem
ret->num_local, ret->num_room, ret->num_internet, ret->num_error
);
ret->num_local, ret->num_room, ret->num_internet, ret->num_error
);
- free(recipients);
if (recp_array) {
array_free(recp_array);
}
if (recp_array) {
array_free(recp_array);
}