Changeset 2432
- Timestamp:
- 08/08/07 21:11:43 (1 year ago)
- Files:
-
- plugins/irmc-sync/src/irmc_sync.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/irmc-sync/src/irmc_sync.c
r2429 r2432 385 385 386 386 OSyncError *error = NULL; 387 int vcard_size = 0; 388 387 389 388 390 if (sync_type == SLOW_SYNC) { … … 398 400 399 401 if (vcard_start && vcard_end) { 400 intvcard_size = vcard_end - vcard_start+1;402 vcard_size = vcard_end - vcard_start+1; 401 403 vcard = g_malloc(vcard_size); 402 404 memcpy(vcard, vcard_start, vcard_end - vcard_start); … … 405 407 OSyncChange *change = osync_change_new(&error); 406 408 g_assert(change); 407 408 //osync_change_set_objformat_string(change, "vcard21");409 409 410 410 vcard_start = strstr(vcard, "X-IRMC-LUID:"); … … 416 416 } 417 417 418 // TODO: strlen() + 1419 vcard_size = strlen(vcard);420 418 OSyncData *odata = osync_data_new(vcard, vcard_size, database->objformat, &error); 421 419 … … 434 432 osync_change_set_uid(change, g_strdup(luid)); 435 433 436 int vcard_size; 437 if (!data) { 434 if ((data != NULL) && (strlen(data) > 0)) { 435 vcard_size = strlen(data)+1; 436 } else { 438 437 vcard_size = 0; 439 } else {440 // TODO strlen() + 1?441 vcard_size = strlen(data);442 438 } 443 439 444 440 /* H stands for hard delete. D stands for delete. */ 445 if (type == 'H' || type == 'D') 441 if (type == 'H' || type == 'D') { 446 442 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_DELETED); 447 else if (type == 'M' || vcard_size == 0) { 443 OSyncData *odata = osync_data_new(NULL, 0, database->objformat, &error); 444 osync_change_set_data(change, odata); 445 } else if (type == 'M' || vcard_size == 0) { 448 446 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_MODIFIED); 449 447 OSyncData *odata = osync_data_new(data, vcard_size, database->objformat, &error); 450 451 448 osync_change_set_data(change, odata); 452 453 449 } 454 450
