dav/sync.c

changeset 66
f8c1f685e08e
parent 65
d4077e8175f3
child 68
f6d3db6113d3
equal deleted inserted replaced
65:d4077e8175f3 66:f8c1f685e08e
499 499
500 // delete all removed files 500 // delete all removed files
501 UcxMapIterator i = ucx_map_iterator(db->resources); 501 UcxMapIterator i = ucx_map_iterator(db->resources);
502 LocalResource *local; 502 LocalResource *local;
503 UCX_MAP_FOREACH(key, local, i) { 503 UCX_MAP_FOREACH(key, local, i) {
504 if(sync_delete_remote_resource(sn, local)) { 504 if (!res_matches_filter(dir, local->path+1)) {
505 ucx_map_cstr_put(lclres, local->path, local); 505 if(sync_delete_remote_resource(sn, local)) {
506 ucx_map_cstr_put(lclres, local->path, local);
507 }
506 } 508 }
507 } 509 }
508 ucx_map_free(db->resources); 510 ucx_map_free(db->resources);
509 db->resources = lclres; 511 db->resources = lclres;
510 512
718 etag = etag + 2; 720 etag = etag + 2;
719 } 721 }
720 } 722 }
721 723
722 int ret = 0; 724 int ret = 0;
723 if(!strcmp(etag, local_res->etag)) { 725 if(etag && !strcmp(etag, local_res->etag)) {
724 // local resource metadata == remote resource metadata 726 // local resource metadata == remote resource metadata
725 // resource can be deleted 727 // resource can be deleted
726 printf("delete: %s\n", res->path); 728 printf("delete: %s\n", res->path);
727 if(dav_delete(res)) { 729 if(dav_delete(res)) {
728 if(sn->error != DAV_NOT_FOUND) { 730 if(sn->error != DAV_NOT_FOUND) {

mercurial