--- a/src/server/plugins/postgresql/config.c Sat Mar 25 17:18:51 2023 +0100 +++ b/src/server/plugins/postgresql/config.c Fri May 05 18:02:11 2023 +0200 @@ -203,7 +203,7 @@ } // prepare PgRepository - repo->prop_ext = cxHashMapCreate(a, 8); + repo->prop_ext = cxHashMapCreate(a, CX_STORE_POINTERS, 8); if(!repo->prop_ext) { log_ereport(LOG_FAILURE, "pg: cannot load config file: OOM"); return 1; @@ -245,8 +245,8 @@ int ret = 0; PgExtParser parserData; - parserData.table_lookup = cxHashMapCreate(cxDefaultAllocator, 8); - parserData.tables = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_ptr, sizeof(PgExtTable)); + parserData.table_lookup = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 8); + parserData.tables = cxLinkedListCreate(cxDefaultAllocator, NULL, sizeof(PgExtTable)); while(node && !ret) { // currently, the only possible config element is <extension> @@ -265,7 +265,7 @@ repo->tables = pool_calloc(pool, ntables, sizeof(PgExtTable)); if(repo->tables) { int i = 0; - CxIterator iter = cxListIterator(parserData.tables, 0); + CxIterator iter = cxListIterator(parserData.tables); cx_foreach(PgExtTable *, tab, iter) { repo->tables[i++] = *tab; } @@ -294,7 +294,7 @@ xmlNode *node = ext_node->children; const char *table = NULL; - CxList *properties = cxPointerLinkedListCreate(a, cx_cmp_ptr); + CxList *properties = cxLinkedListCreate(a, NULL, CX_STORE_POINTERS); while(node) { if(node->type == XML_ELEMENT_NODE) { @@ -364,7 +364,7 @@ return 1; } - CxIterator iter = cxListIterator(properties, 0); + CxIterator iter = cxListIterator(properties); cx_foreach(xmlNode *, ps, iter) { const char *value = pg_util_xml_get_text(ps); @@ -382,7 +382,7 @@ CxHashKey key = webdav_property_key(ext_col->ns, ext_col->name); int err = cxMapPut(repo->prop_ext, key, ext_col); - free(key.data.bytes); + free((void*)key.data); if(err) { return 1; }