dav/db.c

branch
ucx-3.1
changeset 816
839fefbdedc7
parent 747
efbd59642577
child 820
d0cccee15a7c
--- a/dav/db.c	Sat Apr 20 13:01:58 2024 +0200
+++ b/dav/db.c	Thu May 23 22:35:45 2024 +0200
@@ -57,9 +57,9 @@
     SyncDatabase *db = malloc(sizeof(SyncDatabase));
     db->resources = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 2048);
     db->conflict = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 16);
-    
-    db->resources->destructor_data = (cx_destructor_func)local_resource_free;
-    db->conflict->destructor_data = (cx_destructor_func)local_resource_free;
+
+    cxDefineDestructor(db->resources, local_resource_free);
+    cxDefineDestructor(db->conflict, local_resource_free);
     
     xmlTextReaderPtr reader = xmlReaderForFile(db_file, NULL, 0);
     if(!reader) {
@@ -79,10 +79,10 @@
     int error = 0;
     while(xmlTextReaderRead(reader)) {
         int type = xmlTextReaderNodeType(reader);
-        const xmlChar *name = xmlTextReaderConstName(reader);
+        const xmlChar *xmlName = xmlTextReaderConstName(reader);
         
         if(type == XML_READER_TYPE_ELEMENT) {
-            if(xstreq(name, "resource")) {
+            if(xstreq(xmlName, "resource")) {
                 LocalResource *res = process_resource(reader);
                 if(res) {
                     cxMapPut(db->resources, cx_hash_key_str(res->path), res);
@@ -90,7 +90,7 @@
                     error = 1;
                     break;
                 }
-            } else if(xstreq(name, "conflict")) {
+            } else if(xstreq(xmlName, "conflict")) {
                 LocalResource *res = process_conflict(reader);
                 if(res) {
                     cxMapPut(db->conflict, cx_hash_key_str(res->path), res);
@@ -115,7 +115,7 @@
     // TODO: rewrite using low level array
     
     CxList *parts = cxLinkedListCreateSimple(CX_STORE_POINTERS);
-    parts->destructor_data = (cx_destructor_func)filepart_free;
+    cxDefineDestructor(parts, filepart_free);
     
     FilePart *current_part = NULL;
     
@@ -411,9 +411,8 @@
     xmlTextWriterStartElement(writer, BAD_CAST "directory");
     
     // write all resource entries
-    CxIterator i = cxMapIteratorValues(db->resources);
-    LocalResource *res;
-    cx_foreach(LocalResource*, res, i) {
+    CxIterator iter = cxMapIteratorValues(db->resources);
+    cx_foreach(LocalResource*, res, iter) {
         // <resource>
         xmlTextWriterStartElement(writer, BAD_CAST "resource");
         
@@ -688,8 +687,8 @@
 */
     
     // write all conflict entries
-    i = cxMapIteratorValues(db->conflict);
-    cx_foreach(LocalResource*, res, i) {
+    iter = cxMapIteratorValues(db->conflict);
+    cx_foreach(LocalResource*, res, iter) {
         // <conflict>
         xmlTextWriterStartElement(writer, BAD_CAST "conflict");
         
@@ -825,10 +824,9 @@
 }
 
 CxMap* create_hash_index(SyncDatabase *db) {
-    CxMap *hmap = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, db->resources->size + 64);
+    CxMap *hmap = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, cxMapSize(db->resources) + 64);
     
     CxIterator i = cxMapIteratorValues(db->resources);
-    LocalResource *res;
     cx_foreach(LocalResource*, res, i) {
         if(res->hash) {
             cxMapPut(hmap, cx_hash_key_str(res->hash), res);

mercurial