diff -r 8c37028f5024 -r 4bccc18820e8 libidav/resource.c --- a/libidav/resource.c Sat Jun 06 10:46:29 2015 +0200 +++ b/libidav/resource.c Tue Jul 07 20:47:02 2015 +0200 @@ -105,6 +105,15 @@ return res; } +void resource_free_properties(DavSession *sn, UcxMap *properties) { + UcxMapIterator i = ucx_map_iterator(properties); + char *property; + UCX_MAP_FOREACH(key, property, i) { + dav_session_free(sn, property); + } + ucx_map_free(properties); +} + void dav_resource_free(DavResource *res) { DavSession *sn = res->session; @@ -115,13 +124,7 @@ } DavResourceData *data = res->data; - UcxMapIterator i = ucx_map_iterator(data->properties); - UcxKey key; - char *property; - UCX_MAP_FOREACH(key, property, i) { - dav_session_free(sn, property); - } - ucx_map_free(data->properties); + resource_free_properties(sn, data->properties); UCX_FOREACH(elm, data->set) { DavProperty *p = elm->data; @@ -272,7 +275,7 @@ char* dav_get_property(DavResource *res, char *name) { char *pns; char *pname; - dav_get_property_namespace(res->session->context, name, &pns, &pname); + dav_get_property_namespace_str(res->session->context, name, &pns, &pname); return dav_get_property_ns(res, pns, pname); } @@ -305,7 +308,7 @@ void dav_set_property(DavResource *res, char *name, char *value) { char *pns; char *pname; - dav_get_property_namespace(res->session->context, name, &pns, &pname); + dav_get_property_namespace_str(res->session->context, name, &pns, &pname); dav_set_property_ns(res, pns, pname, value); } @@ -332,7 +335,7 @@ void dav_remove_property(DavResource *res, char *name) { char *pns; char *pname; - dav_get_property_namespace(res->session->context, name, &pns, &pname); + dav_get_property_namespace_str(res->session->context, name, &pns, &pname); dav_remove_property_ns(res, pns, pname); }