Changeset 2432

Show
Ignore:
Timestamp:
08/08/07 21:11:43 (1 year ago)
Author:
cstender
Message:

fixed OSYNC_CHANGE_TYPE_DELETED in irmc-sync

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/irmc-sync/src/irmc_sync.c

    r2429 r2432  
    385385 
    386386  OSyncError *error = NULL; 
     387  int vcard_size = 0; 
     388 
    387389   
    388390  if (sync_type == SLOW_SYNC) { 
     
    398400 
    399401      if (vcard_start && vcard_end) { 
    400         int vcard_size = vcard_end - vcard_start+1; 
     402        vcard_size = vcard_end - vcard_start+1; 
    401403        vcard = g_malloc(vcard_size); 
    402404        memcpy(vcard, vcard_start, vcard_end - vcard_start); 
     
    405407        OSyncChange *change = osync_change_new(&error); 
    406408        g_assert(change); 
    407  
    408         //osync_change_set_objformat_string(change, "vcard21"); 
    409409 
    410410        vcard_start = strstr(vcard, "X-IRMC-LUID:"); 
     
    416416        } 
    417417 
    418         // TODO: strlen() + 1 
    419         vcard_size = strlen(vcard); 
    420418        OSyncData *odata = osync_data_new(vcard, vcard_size, database->objformat, &error); 
    421419 
     
    434432    osync_change_set_uid(change, g_strdup(luid)); 
    435433 
    436     int vcard_size;  
    437     if (!data) { 
     434    if ((data != NULL) && (strlen(data) > 0)) { 
     435      vcard_size = strlen(data)+1; 
     436    } else { 
    438437      vcard_size = 0; 
    439     } else { 
    440       // TODO strlen() + 1? 
    441       vcard_size = strlen(data); 
    442438    } 
    443439 
    444440    /* H stands for hard delete. D stands for delete. */ 
    445     if (type == 'H' || type == 'D') 
     441    if (type == 'H' || type == 'D') { 
    446442      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) { 
    448446      osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_MODIFIED); 
    449447      OSyncData *odata = osync_data_new(data, vcard_size, database->objformat, &error); 
    450  
    451448      osync_change_set_data(change, odata); 
    452  
    453449    } 
    454450