libidav/session.c

changeset 74
da079dc0724c
parent 68
f6d3db6113d3
child 75
56962faf2b42
equal deleted inserted replaced
73:41e88442ad4e 74:da079dc0724c
156 156
157 void dav_session_destroy(DavSession *sn) { 157 void dav_session_destroy(DavSession *sn) {
158 // remove session from context 158 // remove session from context
159 UcxList *sessions = sn->context->sessions; 159 UcxList *sessions = sn->context->sessions;
160 ssize_t i = ucx_list_find(sessions, sn, ucx_ptrcmp, NULL); 160 ssize_t i = ucx_list_find(sessions, sn, ucx_ptrcmp, NULL);
161 if(i > 0) { 161 if(i >= 0) {
162 UcxList *elm = ucx_list_get(sessions, i); 162 UcxList *elm = ucx_list_get(sessions, i);
163 if(elm) { 163 if(elm) {
164 sn->context->sessions = ucx_list_remove(sessions, elm); 164 sn->context->sessions = ucx_list_remove(sessions, elm);
165 } 165 }
166 } 166 }
243 243
244 // create request buffer for propfind requests 244 // create request buffer for propfind requests
245 UcxBuffer *rqbuf = create_basic_propfind_request(); 245 UcxBuffer *rqbuf = create_basic_propfind_request();
246 246
247 sstr_t remaining = sstrsubs(p, start); 247 sstr_t remaining = sstrsubs(p, start);
248 size_t nelm = 0; 248 ssize_t nelm = 0;
249 sstr_t *elms = sstrsplit(remaining, S("/"), &nelm); 249 sstr_t *elms = sstrsplit(remaining, S("/"), &nelm);
250 DavResource *res = root; 250 DavResource *res = root;
251 ucx_buffer_puts(pbuf, res->path); 251 ucx_buffer_puts(pbuf, res->path);
252 // iterate over all remaining path elements 252 // iterate over all remaining path elements
253 for(int i=0;i<nelm;i++) { 253 for(int i=0;i<nelm;i++) {

mercurial