--- a/dav/db.c Thu Dec 05 10:46:39 2019 +0100 +++ b/dav/db.c Thu Dec 05 12:37:48 2019 +0100 @@ -217,6 +217,8 @@ field = 12; } else if(xstreq(name, "localpath")) { field = 13; + } else if(xstreq(name, "versioncontrol")) { + field = 14; } else if(xstreq(name, "skipped")) { res->skipped = TRUE; } else if(xstreq(name, "tags-updated")) { @@ -321,6 +323,9 @@ case 13: { res->local_path = strdup((char*)value); } + case 14: { + res->versioncontrol = util_getboolean((char*)value); + } } } else if(XML_READER_TYPE_END_ELEMENT) { if(xstreq(name, "resource")) { @@ -648,6 +653,18 @@ } } + if(res->versioncontrol) { + r = xmlTextWriterWriteElement( + writer, + BAD_CAST "versioncontrol", + BAD_CAST "true"); + if(r < 0) { + fprintf(stderr, "Cannot write versioncontrol\n"); + xmlFreeTextWriter(writer); + return -1; + } + } + // </resource> xmlTextWriterEndElement(writer); } @@ -766,6 +783,7 @@ newres->size = src->size; newres->isdirectory = src->isdirectory; newres->skipped = src->skipped; + newres->versioncontrol = src->versioncontrol; if(src->xattr) { XAttributes *xattr = calloc(1, sizeof(XAttributes));