739 curl_easy_setopt(handle, CURLOPT_WRITEDATA, response); |
739 curl_easy_setopt(handle, CURLOPT_WRITEDATA, response); |
740 |
740 |
741 ucx_buffer_seek(request, 0, SEEK_SET); |
741 ucx_buffer_seek(request, 0, SEEK_SET); |
742 CURLcode ret = dav_session_curl_perform_buf(sn, request, response, NULL); |
742 CURLcode ret = dav_session_curl_perform_buf(sn, request, response, NULL); |
743 curl_slist_free_all(headers); |
743 curl_slist_free_all(headers); |
|
744 |
|
745 printf("proppatch: \n%.*s\n", request->size, request->space); |
|
746 |
744 return ret; |
747 return ret; |
745 } |
748 } |
746 |
749 |
747 UcxBuffer* create_proppatch_request(DavResourceData *data) { |
750 UcxBuffer* create_proppatch_request(DavResourceData *data) { |
748 UcxBuffer *buf = ucx_buffer_new(NULL, 512, UCX_BUFFER_AUTOEXTEND); |
751 UcxBuffer *buf = ucx_buffer_new(NULL, 512, UCX_BUFFER_AUTOEXTEND); |
812 s = S(">"); |
815 s = S(">"); |
813 ucx_buffer_write(s.ptr, 1, s.length, buf); |
816 ucx_buffer_write(s.ptr, 1, s.length, buf); |
814 |
817 |
815 // content |
818 // content |
816 DavXmlNode *content = property->value; |
819 DavXmlNode *content = property->value; |
817 if(content->type == DAV_XML_TEXT) { |
820 if(content->type == DAV_XML_TEXT && !content->next) { |
818 ucx_buffer_write(content->content, 1, content->contentlength, buf); |
821 ucx_buffer_write(content->content, 1, content->contentlength, buf); |
819 } else { |
822 } else { |
820 dav_print_node(buf, (write_func)ucx_buffer_write, namespaces, content); |
823 dav_print_node(buf, (write_func)ucx_buffer_write, namespaces, content); |
821 } |
824 } |
822 |
825 |