dav/webdav.c

changeset 22
e593f7e41be0
parent 21
78935b45e2ce
child 24
a317202ae787
equal deleted inserted replaced
21:78935b45e2ce 22:e593f7e41be0
111 sstr_t url = sstr(base_url); 111 sstr_t url = sstr(base_url);
112 if(url.length == 0) { 112 if(url.length == 0) {
113 return NULL; 113 return NULL;
114 } 114 }
115 DavSession *sn = malloc(sizeof(DavSession)); 115 DavSession *sn = malloc(sizeof(DavSession));
116 sn->errorstr = NULL;
117 sn->error = CURLE_OK;
116 if(url.ptr[url.length - 1] == '/') { 118 if(url.ptr[url.length - 1] == '/') {
117 sn->base_url = strdup(base_url); 119 sn->base_url = strdup(base_url);
118 } else { 120 } else {
119 char *url_str = malloc(url.length + 2); 121 char *url_str = malloc(url.length + 2);
120 memcpy(url_str, base_url, url.length); 122 memcpy(url_str, base_url, url.length);
183 case 405: sn->error = DAV_METHOD_NOT_ALLOWED; break; 185 case 405: sn->error = DAV_METHOD_NOT_ALLOWED; break;
184 case 409: sn->error = DAV_CONFLICT; break; 186 case 409: sn->error = DAV_CONFLICT; break;
185 } 187 }
186 } else { 188 } else {
187 sn->error = DAV_ERROR; 189 sn->error = DAV_ERROR;
190 }
191 if(c != CURLE_OK) {
192 sn->errorstr = curl_easy_strerror(c);
193 } else {
194 sn->errorstr = NULL;
188 } 195 }
189 } 196 }
190 197
191 void dav_session_destroy(DavSession *sn) { 198 void dav_session_destroy(DavSession *sn) {
192 // remove session from context 199 // remove session from context

mercurial