diff -r 9a4857d6444e -r d814ee31c04f dav/db.c --- a/dav/db.c Fri Mar 22 13:07:31 2019 +0100 +++ b/dav/db.c Sat Mar 23 10:04:18 2019 +0100 @@ -135,6 +135,8 @@ field = 8; } else if(xstreq(name, "remote-tags-hash")) { field = 9; + } else if(xstreq(name, "blocksize")) { + field = 10; } else if(xstreq(name, "skipped")) { res->skipped = TRUE; } else if(xstreq(name, "tags-updated")) { @@ -211,6 +213,18 @@ res->remote_tags_hash = strdup((char*)value); break; } + case 10: { + int64_t blsz = 0; + if(util_strtoint((char*)value, &blsz)) { + if(blsz < -1) { + blsz = -1; + } + if(blsz > 0 && blsz < 16) { + blsz = 0; + } + res->blocksize = blsz; + } + } } } else if(XML_READER_TYPE_END_ELEMENT) { if(xstreq(name, "resource")) { @@ -323,6 +337,19 @@ return -1; } + if(res->blocksize != 0) { + r = xmlTextWriterWriteFormatElement( + writer, + BAD_CAST "mode", + "%" PRId64, + res->blocksize); + if(r < 0) { + fprintf(stderr, "Cannot write blocksize\n"); + xmlFreeTextWriter(writer); + return -1; + } + } + if(settings & DB_STORE_MODE == DB_STORE_MODE) { r = xmlTextWriterWriteFormatElement( writer,