diff -r e22c29b7ee2f -r 7b73058d782e dav/db.c --- a/dav/db.c Fri Mar 18 15:08:30 2016 +0100 +++ b/dav/db.c Fri Mar 18 19:54:36 2016 +0100 @@ -325,3 +325,27 @@ xmlFreeTextWriter(writer); return 0; } + +void destroy_db(SyncDatabase *db) { + ucx_map_free_content(db->resources, (ucx_destructor)local_resource_free); + ucx_map_free_content(db->conflict, (ucx_destructor)local_resource_free); + ucx_map_free(db->resources); + ucx_map_free(db->conflict); + free(db); +} + +void local_resource_free(LocalResource *res) { + if(!res) { + return; + } + if(res->name) { + free(res->name); + } + if(res->path) { + free(res->path); + } + if(res->etag) { + free(res->etag); + } + free(res); +}