Loadable modules: fix debug invocations
[exim.git] / src / src / drtables.c
index e54202f430cf3a2cf1ac420cac78c329271ad15b..f0c131d20454554f5ad1aa543f58b37554eb1575 100644 (file)
@@ -21,6 +21,8 @@ all described in src/EDITME. */
 lookup_info **lookup_list;
 int lookup_list_count = 0;
 
+static int lookup_list_init_done = 0;
+
 /* Table of information about all possible authentication mechamisms. All
 entries are always present if any mechanism is declared, but the functions are
 set to NULL for those that are not compiled into the binary. */
@@ -398,6 +400,10 @@ void init_lookup_list(void)
   int moduleerrors = 0;
   struct lookupmodulestr *p;
 
+  if (lookup_list_init_done)
+    return;
+  lookup_list_init_done = 1;
+
 #if defined(LOOKUP_CDB) && LOOKUP_CDB!=2
 extern lookup_module_info cdb_lookup_module_info;
   addlookupmodule(NULL, &cdb_lookup_module_info);
@@ -486,11 +492,11 @@ extern lookup_module_info whoson_lookup_module_info;
 #ifdef LOOKUP_MODULE_DIR
   dd = opendir(LOOKUP_MODULE_DIR);
   if (dd == NULL) {
-    DEBUG(5) debug_printf("Couldn't open %s: not loading lookup modules\n", LOOKUP_MODULE_DIR);
+    DEBUG(D_lookup) debug_printf("Couldn't open %s: not loading lookup modules\n", LOOKUP_MODULE_DIR);
     log_write(0, LOG_MAIN, "Couldn't open %s: not loading lookup modules\n", LOOKUP_MODULE_DIR);
   }
   else {
-    DEBUG(9) debug_printf("Loading lookup modules from %s\n", LOOKUP_MODULE_DIR);
+    DEBUG(D_lookup) debug_printf("Loading lookup modules from %s\n", LOOKUP_MODULE_DIR);
     while ((ent = readdir(dd)) != NULL) {
       char *name = ent->d_name;
       int len = (int)strlen(name);
@@ -542,19 +548,19 @@ extern lookup_module_info whoson_lookup_module_info;
         }
 
         addlookupmodule(dl, info);
-        DEBUG(9) debug_printf("Loaded \"%s\" (%d lookup types)\n", name, info->lookupcount);
+        DEBUG(D_lookup) debug_printf("Loaded \"%s\" (%d lookup types)\n", name, info->lookupcount);
         countmodules++;
       }
     }
     closedir(dd);
   }
 
-  DEBUG(9) debug_printf("Loaded %d lookup modules\n", countmodules);
+  DEBUG(D_lookup) debug_printf("Loaded %d lookup modules\n", countmodules);
 #endif
 
   store_free((void*)regex_islookupmod);
 
-  DEBUG(4) debug_printf("Total %d lookups\n", lookup_list_count);
+  DEBUG(D_lookup) debug_printf("Total %d lookups\n", lookup_list_count);
 
   lookup_list = store_malloc(sizeof(lookup_info *) * lookup_list_count);
   memset(lookup_list, 0, sizeof(lookup_info *) * lookup_list_count);