diff -r 923a4528a2ae -r d53fd1006485 dav/db.c --- 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; }