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