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 { |