]> code.citadel.org Git - citadel.git/blobdiff - citadel/internet_addressing.c
THREADS: config setting min_workers _now_ also is that, plus its also max_spare_workers
[citadel.git] / citadel / internet_addressing.c
index 116e57e249b3900c9e697400e47dccab76040960..3237007d60a27d6a06d8153697f972049c49490b 100644 (file)
 #include "room_ops.h"
 #include "parsedate.h"
 #include "database.h"
-
 #include "ctdl_module.h"
-
-#ifndef HAVE_SNPRINTF
-#include "snprintf.h"
-#endif
-
-
 #ifdef HAVE_ICONV
 #include <iconv.h>
 
@@ -608,7 +601,6 @@ int convert_field(struct CtdlMessage *msg, const char *beg, const char *end) {
                snprintf(addr, sizeof addr, "%s@%s", user, node);
                if (msg->cm_fields['A'] == NULL)
                        msg->cm_fields['A'] = strdup(name);
-               processed = 1;
                if (msg->cm_fields['F'] == NULL)
                        msg->cm_fields['F'] = strdup(addr);
                processed = 1;
@@ -959,13 +951,15 @@ void CtdlDirectoryInit(void) {
 /*
  * Add an Internet e-mail address to the directory for a user
  */
-void CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr) {
+int CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr) {
        char key[SIZ];
 
-       if (IsDirectory(internet_addr, 0) == 0) return;
+       if (IsDirectory(internet_addr, 0) == 0) 
+               return 0;
        syslog(LOG_DEBUG, "Create directory entry: %s --> %s\n", internet_addr, citadel_addr);
        directory_key(key, internet_addr);
        cdb_store(CDB_DIRECTORY, key, strlen(key), citadel_addr, strlen(citadel_addr)+1 );
+       return 1;
 }
 
 
@@ -975,12 +969,12 @@ void CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr) {
  * (NOTE: we don't actually use or need the citadel_addr variable; it's merely
  * here because the callback API expects to be able to send it.)
  */
-void CtdlDirectoryDelUser(char *internet_addr, char *citadel_addr) {
+int CtdlDirectoryDelUser(char *internet_addr, char *citadel_addr) {
        char key[SIZ];
 
        syslog(LOG_DEBUG, "Delete directory entry: %s --> %s\n", internet_addr, citadel_addr);
        directory_key(key, internet_addr);
-       cdb_delete(CDB_DIRECTORY, key, strlen(key) );
+       return cdb_delete(CDB_DIRECTORY, key, strlen(key) ) == 0;
 }