src/server/config/initconf.c

changeset 415
d938228c382e
parent 115
51d9a15eac98
child 418
b7dcc9c4f270
--- a/src/server/config/initconf.c	Wed Nov 02 19:19:01 2022 +0100
+++ b/src/server/config/initconf.c	Sun Nov 06 15:53:32 2022 +0100
@@ -54,11 +54,12 @@
 }
 
 void free_init_config(InitConfig *conf) {
-    ucx_mempool_destroy(conf->parser.mp->pool);
+    // TODO: fix
+    //ucx_mempool_destroy(conf->parser.mp->pool);
     free(conf);
 }
 
-int initconf_parse(void *p, ConfigLine *begin, ConfigLine *end, sstr_t line) {
+int initconf_parse(void *p, ConfigLine *begin, ConfigLine *end, cxmutstr line) {
     InitConfig *conf = p;
     
     // parse directive
@@ -70,7 +71,11 @@
     d->begin = begin;
     d->end = end;
     if(d->type_num == INIT_DIRECTIVE) {
-        conf->directives = ucx_list_append(conf->directives, d);
+        //conf->directives = ucx_list_append(conf->directives, d);
+        ConfigDirectiveList *dir_entry = cxMalloc(conf->parser.mp, sizeof(ConfigDirectiveList));
+        dir_entry->directive = d;
+        dir_entry->next = NULL;
+        CFG_DIRECTIVES_ADD(&conf->directives, dir_entry);
     } else {
         log_ereport(LOG_WARN, "Non Init directive in init.conf");
     }

mercurial