diff -r 1f40ca07ae1b -r 839fefbdedc7 dav/tags.c --- a/dav/tags.c Sat Apr 20 13:01:58 2024 +0200 +++ b/dav/tags.c Thu May 23 22:35:45 2024 +0200 @@ -73,7 +73,7 @@ CxList* parse_text_taglist(const char *buf, size_t length) { CxList *tags = cxLinkedListCreateSimple(CX_STORE_POINTERS); - tags->simple_destructor = (cx_destructor_func)free_dav_tag; + cxDefineDestructor(tags, free_dav_tag); int line_start = 0; for(int i=0;isize + 8); + CxMap *map = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, cxListSize(tags) + 8); CxIterator iter = cxListIterator(tags); cx_foreach(DavTag*, t, iter) { cxMapPut(map, cx_hash_key_str(t->name), t); @@ -142,7 +142,7 @@ CxList* parse_csv_taglist(const char *buf, size_t length) { CxList *taglist = cxLinkedListCreateSimple(CX_STORE_POINTERS); - taglist->simple_destructor = (cx_destructor_func)free_dav_tag; + cxDefineDestructor(taglist, free_dav_tag); cxstring str = cx_strn(buf, length); CxStrtokCtx tags = cx_strtok(str, CX_STR(","), INT_MAX); @@ -185,16 +185,10 @@ if(value) { if(!strcmp(c->namespace, DAV_PROPS_NS)) { if(!strcmp(c->name, "name")) { - char *value = dav_xml_getstring(c->children); - if(value) { - name = value; - } + name = value; } if(!strcmp(c->name, "color")) { - char *value = dav_xml_getstring(c->children); - if(value) { - color = value; - } + color = value; } } } @@ -213,7 +207,7 @@ CxList* parse_dav_xml_taglist(DavXmlNode *taglistnode) { CxList *tags = cxLinkedListCreateSimple(CX_STORE_POINTERS); - tags->simple_destructor = (cx_destructor_func)free_dav_tag; + cxDefineDestructor(tags, free_dav_tag); DavXmlNode *node = taglistnode; while(node) { @@ -403,7 +397,7 @@ i++; } - if(i != map1->size) { + if(i != cxMapSize(map1)) { equal = 0; } cxMapDestroy(map1); @@ -425,7 +419,7 @@ CxMap *tag_map = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 32); // merged taglist CxList *new_tags = cxLinkedListCreateSimple(CX_STORE_POINTERS); - new_tags->simple_destructor = (cx_destructor_func)free_dav_tag; + cxDefineDestructor(new_tags, free_dav_tag); // add all local tags if(tags1) {