dav/tags.c

changeset 785
645f7e802873
parent 769
24b317ce5ca9
child 816
839fefbdedc7
equal deleted inserted replaced
784:592ff4ca2aaa 785:645f7e802873
292 292
293 return tag; 293 return tag;
294 } 294 }
295 295
296 CxList* parse_macos_taglist(const char *buf, size_t length) { 296 CxList* parse_macos_taglist(const char *buf, size_t length) {
297 CxList *taglist = cxLinkedListCreate(CX_STORE_POINTERS); 297 CxList *taglist = cxLinkedListCreateSimple(CX_STORE_POINTERS);
298 taglist->simple_destructor = (cx_destructor_func)free_dav_tag; 298 taglist->simple_destructor = (cx_destructor_func)free_dav_tag;
299 299
300 CFDataRef data = CFDataCreateWithBytesNoCopy( 300 CFDataRef data = CFDataCreateWithBytesNoCopy(
301 kCFAllocatorDefault, 301 kCFAllocatorDefault,
302 (const UInt8*)buf, 302 (const UInt8*)buf,
324 324
325 return taglist; 325 return taglist;
326 } 326 }
327 327
328 CxBuffer* create_macos_taglist(CxList *tags) { 328 CxBuffer* create_macos_taglist(CxList *tags) {
329 size_t count = ucx_list_size(tags); 329 size_t count = tags->size;
330 if(count == 0) { 330 if(count == 0) {
331 return NULL; 331 return NULL;
332 } 332 }
333 333
334 CFStringRef *strings = calloc(sizeof(CFStringRef), count); 334 CFStringRef *strings = calloc(sizeof(CFStringRef), count);
335 int i = 0; 335 int i = 0;
336 CxIterator i = cxListIterator(tags); 336 CxIterator iter = cxListIterator(tags);
337 cx_foreach(DavTag*, tag, i) { 337 cx_foreach(DavTag*, tag, iter) {
338 CFStringRef str = NULL; 338 CFStringRef str = NULL;
339 if(tag->color) { 339 if(tag->color) {
340 sstr_t s = sstrcat(3, sstr(tag->name), S("\n"), sstr(tag->color)); 340 cxmutstr s = cx_strcat(3, cx_mutstr(tag->name), CX_STR("\n"), cx_str(tag->color));
341 str = CFStringCreateWithCString(kCFAllocatorDefault, s.ptr, kCFStringEncodingUTF8); 341 str = CFStringCreateWithCString(kCFAllocatorDefault, s.ptr, kCFStringEncodingUTF8);
342 free(s.ptr); 342 free(s.ptr);
343 } else { 343 } else {
344 str = CFStringCreateWithCString(kCFAllocatorDefault, tag->name, kCFStringEncodingUTF8); 344 str = CFStringCreateWithCString(kCFAllocatorDefault, tag->name, kCFStringEncodingUTF8);
345 } 345 }

mercurial