X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Finternet_addressing.c;h=416586bedeb0e9bd35503e1715aca1dc661737c9;hp=33d70451a6f36406c36056d8b91954ce0e728f4e;hb=9ffea7c3315046ddcea2589656c13da5f5e0c076;hpb=bdfa2e9b6af7e32b11461433a28dd6551f830888 diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index 33d70451a..416586bed 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -2,7 +2,7 @@ * This file contains functions which handle the mapping of Internet addresses * to users on the Citadel system. * - * Copyright (c) 1987-2018 by the citadel.org team + * Copyright (c) 1987-2019 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -1588,58 +1588,23 @@ char *harvest_collected_addresses(struct CtdlMessage *msg) { /* * Helper function for CtdlRebuildDirectoryIndex() - * - * Call this function as a ForEachUser backend in order to queue up - * user names, or call it with a null user to make it do the processing. - * This allows us to maintain the list as a static instead of passing - * pointers around. */ -void CtdlRebuildDirectoryIndex_backend(struct ctdluser *usbuf, void *data) { - - struct crdib { - char name[64]; - char emails[512]; - }; - - static struct crdib *e = NULL; - static int num_e = 0; - static int alloc_e = 0; +void CtdlRebuildDirectoryIndex_backend(char *username, void *data) { - /* this is the calling mode where we add a user */ + int j = 0; + struct ctdluser usbuf; - if (usbuf != NULL) { - if (num_e >= alloc_e) { - if (alloc_e == 0) { - alloc_e = 100; - e = malloc(sizeof(struct crdib) * alloc_e); - } - else { - alloc_e *= 2; - e = realloc(e, (sizeof(struct crdib) * alloc_e)); - } - } - strcpy(e[num_e].name, usbuf->fullname); - strcpy(e[num_e].emails, usbuf->emailaddrs); - ++num_e; + if (CtdlGetUser(&usbuf, username) != 0) { return; } - /* this is the calling mode where we do the processing */ - - int i, j; - for (i=0; i