+
+ /* this is the calling mode where we do the processing */
+
+ int i, j;
+ for (i=0; i<num_e; ++i) {
+ if ( (!IsEmptyStr(e[i].name)) && (!IsEmptyStr(e[i].emails)) ) {
+ for (j=0; j<num_tokens(e[i].emails, '|'); ++j) {
+ char one_email[512];
+ extract_token(one_email, e[i].emails, j, '|', sizeof one_email);
+ CtdlDirectoryAddUser(one_email, e[i].name);
+ }
+ }
+ }
+ free(e);
+ num_e = 0;
+ alloc_e = 0;
+ return;
+}
+
+
+/*
+ * Initialize the directory database (erasing anything already there)
+ */
+void CtdlRebuildDirectoryIndex(void) {
+ syslog(LOG_INFO, "internet_addressing: rebuilding email address directory index");
+ cdb_trunc(CDB_DIRECTORY);
+ ForEachUser(CtdlRebuildDirectoryIndex_backend, NULL);
+ CtdlRebuildDirectoryIndex_backend(NULL, NULL);