diff -r 781aee172901 -r 16d6b97fbf33 dav/db.c
--- a/dav/db.c Thu Mar 17 15:06:26 2016 +0100
+++ b/dav/db.c Thu Mar 17 20:24:37 2016 +0100
@@ -59,7 +59,7 @@
xmlDocSetRootElement(doc, root);
if(xmlSaveFormatFileEnc(db_file, doc, "UTF-8", 1) != -1) {
db->resources = ucx_map_new(2048);
- db->remove = ucx_map_new(8);
+ //db->remove = ucx_map_new(8);
} else {
free(db);
db = NULL;
@@ -71,7 +71,8 @@
free(db_file);
db->resources = ucx_map_new(2048);
- db->remove = ucx_map_new(16);
+ //db->remove = ucx_map_new(16);
+ db->conflict = ucx_map_new(16);
int error = 0;
while(xmlTextReaderRead(reader)) {
int type = xmlTextReaderNodeType(reader);
@@ -86,10 +87,10 @@
error = 1;
break;
}
- } else if(xstreq(name, "remove")) {
- LocalResource *res = process_remove(reader);
+ } else if(xstreq(name, "conflict")) {
+ LocalResource *res = process_conflict(reader);
if(res) {
- ucx_map_cstr_put(db->remove, res->path, res);
+ ucx_map_cstr_put(db->conflict, res->path, res);
} else {
error = 1;
break;
@@ -173,7 +174,7 @@
}
}
-LocalResource* process_remove(xmlTextReaderPtr reader) {
+LocalResource* process_conflict(xmlTextReaderPtr reader) {
LocalResource *res = calloc(1, sizeof(LocalResource));
int path = 0;
@@ -189,7 +190,7 @@
const xmlChar *value = xmlTextReaderConstValue(reader);
res->path = strdup((char*)value);
} else if(XML_READER_TYPE_END_ELEMENT) {
- if(xstreq(name, "remove")) {
+ if(xstreq(name, "conflict")) {
break;
} else {
path = 0;
@@ -283,6 +284,7 @@
}
// write all remove entries
+/*
i = ucx_map_iterator(db->remove);
UCX_MAP_FOREACH(key, res, i) {
//
@@ -296,6 +298,22 @@
//
xmlTextWriterEndElement(writer);
}
+*/
+
+ // write all conflict entries
+ i = ucx_map_iterator(db->conflict);
+ UCX_MAP_FOREACH(key, res, i) {
+ //
+ xmlTextWriterStartElement(writer, BAD_CAST "conflict");
+
+ xmlTextWriterWriteElement(
+ writer,
+ BAD_CAST "path",
+ BAD_CAST res->path);
+
+ //
+ xmlTextWriterEndElement(writer);
+ }
// end
xmlTextWriterEndElement(writer);