dav/sync.c

changeset 415
6e1861e8262c
parent 414
ea50585ec9d9
child 417
f340460a8b5d
equal deleted inserted replaced
414:ea50585ec9d9 415:6e1861e8262c
257 } 257 }
258 return 1; 258 return 1;
259 } 259 }
260 260
261 static int res_matches_tags(DavResource *res, SyncTagFilter *tagfilter) { 261 static int res_matches_tags(DavResource *res, SyncTagFilter *tagfilter) {
262 if(!tagfilter || tagfilter->mode == DAV_SYNC_TAGFILTER_OFF) {
263 return 1;
264 }
262 int scope = res->iscollection ? 265 int scope = res->iscollection ?
263 DAV_SYNC_TAGFILTER_SCOPE_COLLECTION 266 DAV_SYNC_TAGFILTER_SCOPE_COLLECTION
264 : DAV_SYNC_TAGFILTER_SCOPE_RESOURCE; 267 : DAV_SYNC_TAGFILTER_SCOPE_RESOURCE;
265 if(tagfilter->scope & scope != scope) { 268 if(tagfilter->scope & scope != scope) {
266 return 1; 269 return 1;
267 } 270 }
268 if(!tagfilter || tagfilter->mode == DAV_SYNC_TAGFILTER_OFF) {
269 return 1;
270 }
271 271
272 DavXmlNode *tagsprop = dav_get_property_ns(res, DAV_NS, "tags"); 272 DavXmlNode *tagsprop = dav_get_property_ns(res, DAV_NS, "tags");
273 UcxList *res_tags = parse_dav_xml_taglist(tagsprop); 273 UcxList *res_tags = parse_dav_xml_taglist(tagsprop);
274 274
275 int ret = matches_tagfilter(res_tags, tagfilter); 275 int ret = matches_tagfilter(res_tags, tagfilter);
283 static int localres_matches_tags( 283 static int localres_matches_tags(
284 SyncDirectory *dir, 284 SyncDirectory *dir,
285 LocalResource *res, 285 LocalResource *res,
286 SyncTagFilter *tagfilter) 286 SyncTagFilter *tagfilter)
287 { 287 {
288 if(!tagfilter || tagfilter->mode == DAV_SYNC_TAGFILTER_OFF) {
289 return 1;
290 }
288 int scope = res->isdirectory ? 291 int scope = res->isdirectory ?
289 DAV_SYNC_TAGFILTER_SCOPE_COLLECTION 292 DAV_SYNC_TAGFILTER_SCOPE_COLLECTION
290 : DAV_SYNC_TAGFILTER_SCOPE_RESOURCE; 293 : DAV_SYNC_TAGFILTER_SCOPE_RESOURCE;
291 if(tagfilter->scope & scope != scope) { 294 if(tagfilter->scope & scope != scope) {
292 return 1;
293 }
294 if(!tagfilter || tagfilter->mode == DAV_SYNC_TAGFILTER_OFF) {
295 return 1; 295 return 1;
296 } 296 }
297 297
298 DavBool changed = 0; 298 DavBool changed = 0;
299 UcxList *res_tags = sync_get_file_tags(dir, res, &changed); 299 UcxList *res_tags = sync_get_file_tags(dir, res, &changed);

mercurial