148 ucx_buffer_write(s.ptr, 1, s.length, buf); |
148 ucx_buffer_write(s.ptr, 1, s.length, buf); |
149 |
149 |
150 return buf; |
150 return buf; |
151 } |
151 } |
152 |
152 |
153 DavResource* parse_propfind_response(DavSession *sn, UcxBuffer *response) { |
153 DavResource* parse_propfind_response(DavSession *sn, DavResource *root, UcxBuffer *response) { |
154 char *url = NULL; |
154 char *url = NULL; |
155 curl_easy_getinfo(sn->handle, CURLINFO_EFFECTIVE_URL, &url); |
155 curl_easy_getinfo(sn->handle, CURLINFO_EFFECTIVE_URL, &url); |
156 DavResource *root = resource_new_href(sn, util_url_path(url)); |
156 if(!root) { |
|
157 root = resource_new_href(sn, util_url_path(url)); |
|
158 } |
157 |
159 |
158 xmlDoc *doc = xmlReadMemory(response->space, response->size, url, NULL, 0); |
160 xmlDoc *doc = xmlReadMemory(response->space, response->size, url, NULL, 0); |
159 if(!doc) { |
161 if(!doc) { |
160 // TODO: free stuff |
162 // TODO: free stuff |
161 sn->error = DAV_ERROR; |
163 sn->error = DAV_ERROR; |