dav/sync.c

changeset 570
00b7b8e86c48
parent 569
cafdc13b6820
child 573
b8f798d240ab
equal deleted inserted replaced
569:cafdc13b6820 570:00b7b8e86c48
3678 DavSession *sn, 3678 DavSession *sn,
3679 LocalResource *local_res, 3679 LocalResource *local_res,
3680 int *counter, 3680 int *counter,
3681 UcxList **cols) 3681 UcxList **cols)
3682 { 3682 {
3683 DavResource *res = dav_get(sn, local_res->path, "D:getetag"); 3683 DavResource *res = dav_get(sn, local_res->path, "D:getetag,idav:split");
3684 if(!res) { 3684 if(!res) {
3685 return sn->error == DAV_NOT_FOUND ? 0 : 1; 3685 return sn->error == DAV_NOT_FOUND ? 0 : 1;
3686 } 3686 }
3687 3687
3688 int ret = 0; 3688 int ret = 0;
3689 sn->error = DAV_OK; 3689 sn->error = DAV_OK;
3690 if(res->iscollection) { 3690 if(res->iscollection) {
3691 DavXmlNode *split = dav_get_property_ns(res, DAV_NS, "split");
3691 if(cols) { 3692 if(cols) {
3692 *cols = ucx_list_append(*cols, local_res); 3693 *cols = ucx_list_append(*cols, local_res);
3693 } else if(!res->children) { 3694 } else if(split || !res->children) {
3694 printf("delete: %s\n", res->path); 3695 printf("delete: %s\n", res->path);
3695 if(dav_delete(res)) { 3696 if(dav_delete(res)) {
3696 ret = 1; 3697 ret = 1;
3697 fprintf(stderr, "Cannot delete collection %s\n", res->path); 3698 fprintf(stderr, "Cannot delete collection %s\n", res->path);
3698 } else { 3699 } else {

mercurial