Avoid RE compile unneeded unless LOOKUP_MODULE_DIR defined
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 7 Feb 2016 12:10:14 +0000 (12:10 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 7 Feb 2016 12:13:42 +0000 (12:13 +0000)
src/src/drtables.c

index ec4e72683b243b822fc768b05e972dc180bda4cd..f6629634d3605c71d1af1a7860abbe28365c5933 100644 (file)
@@ -517,8 +517,6 @@ void init_lookup_list(void)
   int moduleerrors = 0;
 #endif
   struct lookupmodulestr *p;
-  const pcre *regex_islookupmod = regex_must_compile(
-      US"\\." DYNLIB_FN_EXT "$", FALSE, TRUE);
 
   if (lookup_list_init_done)
     return;
@@ -603,6 +601,9 @@ void init_lookup_list(void)
     log_write(0, LOG_MAIN, "Couldn't open %s: not loading lookup modules\n", LOOKUP_MODULE_DIR);
   }
   else {
+    const pcre *regex_islookupmod = regex_must_compile(
+      US"\\." DYNLIB_FN_EXT "$", FALSE, TRUE);
+
     DEBUG(D_lookup) debug_printf("Loading lookup modules from %s\n", LOOKUP_MODULE_DIR);
     while ((ent = readdir(dd)) != NULL) {
       char *name = ent->d_name;
@@ -659,14 +660,13 @@ void init_lookup_list(void)
         countmodules++;
       }
     }
+    store_free((void*)regex_islookupmod);
     closedir(dd);
   }
 
   DEBUG(D_lookup) debug_printf("Loaded %d lookup modules\n", countmodules);
 #endif
 
-  store_free((void*)regex_islookupmod);
-
   DEBUG(D_lookup) debug_printf("Total %d lookups\n", lookup_list_count);
 
   lookup_list = store_malloc(sizeof(lookup_info *) * lookup_list_count);