diff -r 07b815faa6ac -r f00d03835dd9 src/server/daemon/config.c --- a/src/server/daemon/config.c Tue Dec 30 21:44:49 2025 +0100 +++ b/src/server/daemon/config.c Tue Jan 13 18:09:20 2026 +0100 @@ -66,8 +66,8 @@ } char* cfg_config_file_path(const char *file) { - cxstring base = CX_STR("config/"); - cxmutstr path = cx_strcat(2, base, cx_str(file)); + cxstring base = cx_str("config/"); + cxmutstr path = cx_strcat(CX_NULLSTR, 2, base, cx_str(file)); return path.ptr; } @@ -167,10 +167,10 @@ CxAllocator *allocator = pool_allocator(serverconfig->pool); serverconfig->a = allocator; - serverconfig->destr = cxArrayListCreate(serverconfig->a, NULL, sizeof(ScfgDestr), 32); + serverconfig->destr = cxArrayListCreate(serverconfig->a, sizeof(ScfgDestr), 32); - serverconfig->listeners = cxLinkedListCreate(serverconfig->a, NULL, CX_STORE_POINTERS); - serverconfig->logfiles = cxLinkedListCreate(serverconfig->a, NULL, CX_STORE_POINTERS); + serverconfig->listeners = cxLinkedListCreate(serverconfig->a, CX_STORE_POINTERS); + serverconfig->logfiles = cxLinkedListCreate(serverconfig->a, CX_STORE_POINTERS); serverconfig->host_vs = cxHashMapCreate(serverconfig->a, CX_STORE_POINTERS, 16); serverconfig->authdbs = cxHashMapCreate(serverconfig->a, CX_STORE_POINTERS, 16); serverconfig->resources = cxHashMapCreate(serverconfig->a, CX_STORE_POINTERS, 16); @@ -430,7 +430,7 @@ // mime file cxstring mf = serverconfig_object_directive_value(obj, cx_str("MimeFile")); cxstring base = cx_str("config/"); - cxmutstr file = cx_strcat(2, base, mf); + cxmutstr file = cx_strcat(CX_NULLSTR, 2, base, mf); if(mime_conf_load(cfg, file)) { return -1; @@ -729,7 +729,7 @@ // load the object config file cxstring base = cx_str("config/"); // cx_strcat with allocator because we want to keep the string - cxmutstr file = cx_strcat_a(cfg->a, 2, base, objfile); + cxmutstr file = cx_strcat_a(cfg->a, CX_NULLSTR, 2, base, objfile); HTTPObjectConfig *httpobj = objconf_load(cfg, file); if(!httpobj) { @@ -740,7 +740,7 @@ // load acl config file - cxmutstr acl_filepath = cx_strcat(2, base, aclfile); + cxmutstr acl_filepath = cx_strcat(CX_NULLSTR, 2, base, aclfile); ACLData *acldata = acl_conf_load(cfg, acl_filepath.ptr); free(acl_filepath.ptr); @@ -749,7 +749,7 @@ } vs->acls = acldata; - CxList *locations = serverconfig_get_node_list(obj, CONFIG_NODE_OBJECT, CX_STR("Location")); + CxList *locations = serverconfig_get_node_list(obj, CONFIG_NODE_OBJECT, cx_str("Location")); CxIterator i = cxListIterator(locations); cx_foreach(ConfigNode *, node, i) { WSLocation *location = cfg_location_get(cfg, node); @@ -773,7 +773,7 @@ int cfg_handle_dav(ServerConfiguration *cfg, ConfigNode *obj) { CxAllocator *a = pool_allocator(cfg->pool); - CxList *backends = cxLinkedListCreate(a, NULL, CX_STORE_POINTERS); // list of ConfigParam* + CxList *backends = cxLinkedListCreate(a, CX_STORE_POINTERS); // list of ConfigParam* int init_error; // parse args @@ -820,7 +820,7 @@ WebdavRepository *repository = pool_malloc(cfg->pool, sizeof(WebdavRepository)); repository->vfs = NULL; repository->vfsInitData = NULL; - repository->davBackends = cxLinkedListCreate(a, NULL, CX_STORE_POINTERS); // value type: WebdavBackendInitData* + repository->davBackends = cxLinkedListCreate(a, CX_STORE_POINTERS); // value type: WebdavBackendInitData* // initialize backends CxIterator i = cxListIterator(backends); @@ -908,7 +908,7 @@ // list of cxmutstr, however the expression parser will use this // as list of cxstring, but that is totally fine - CxList *tokens = cxLinkedListCreate(pool_allocator(pool), NULL, sizeof(cxmutstr)); + CxList *tokens = cxLinkedListCreate(pool_allocator(pool), sizeof(cxmutstr)); ConfigParam *arg = node->args; while(arg) { if(arg->name.length > 0) { @@ -1228,7 +1228,7 @@ acllist->ace = NULL; acllist->ece = NULL; - if(acl->type.ptr && !cx_strcmp(acl->type, CX_STR("fs"))) { + if(acl->type.ptr && !cx_strcmp(acl->type, "fs")) { acllist->acl.isextern = 1; }