dav/db.c

changeset 524
d53fd1006485
parent 523
923a4528a2ae
child 525
26a1d5b9d9d2
--- a/dav/db.c	Thu Mar 14 17:43:31 2019 +0100
+++ b/dav/db.c	Fri Mar 15 20:30:09 2019 +0100
@@ -133,6 +133,10 @@
                 field = 7;
             } else if(xstreq(name, "xattr-hash")) {
                 field = 8;
+            } else if(xstreq(name, "remote-tags-hash")) {
+                field = 9;
+            } else if(xstreq(name, "remote-xattr-hash")) {
+                field = 10;
             } else if(xstreq(name, "skipped")) {
                 res->skipped = TRUE;
             } else if(xstreq(name, "tags-updated")) {
@@ -205,6 +209,14 @@
                     res->xattr_hash = strdup((char*)value);
                     break;
                 }
+                case 9: {
+                    res->remote_tags_hash = strdup((char*)value);
+                    break;
+                }
+                case 10: {
+                    res->remote_xattr_hash = strdup((char*)value);
+                    break;
+                }
             }
         } else if(XML_READER_TYPE_END_ELEMENT) {
             if(xstreq(name, "resource")) {
@@ -370,7 +382,7 @@
                     BAD_CAST "tags-hash",
                     BAD_CAST res->tags_hash);
             if(r < 0) {
-                fprintf(stderr, "Cannot write tags-hash: %s\n", res->etag);
+                fprintf(stderr, "Cannot write tags-hash: %s\n", res->tags_hash);
                 xmlFreeTextWriter(writer);
                 return -1;
             }
@@ -382,7 +394,31 @@
                     BAD_CAST "xattr-hash",
                     BAD_CAST res->xattr_hash);
             if(r < 0) {
-                fprintf(stderr, "Cannot write xattr-hash: %s\n", res->etag);
+                fprintf(stderr, "Cannot write xattr-hash: %s\n", res->xattr_hash);
+                xmlFreeTextWriter(writer);
+                return -1;
+            }
+        }
+        
+        if(res->remote_tags_hash) {
+            r = xmlTextWriterWriteElement(
+                    writer,
+                    BAD_CAST "remote-tags-hash",
+                    BAD_CAST res->remote_tags_hash);
+            if(r < 0) {
+                fprintf(stderr, "Cannot write remote-tags-hash: %s\n", res->remote_tags_hash);
+                xmlFreeTextWriter(writer);
+                return -1;
+            }
+        }
+        
+        if(res->remote_xattr_hash) {
+            r = xmlTextWriterWriteElement(
+                    writer,
+                    BAD_CAST "remote-xattr-hash",
+                    BAD_CAST res->remote_xattr_hash);
+            if(r < 0) {
+                fprintf(stderr, "Cannot write remote-tags-hash: %s\n", res->remote_xattr_hash);
                 xmlFreeTextWriter(writer);
                 return -1;
             }

mercurial