From: <svn...@op...> - 2009-11-10 16:39:51
|
Author: bellmich Date: Tue Nov 10 17:39:33 2009 New Revision: 1355 URL: http://libsyncml.opensync.org/changeset/1355 Log: track removed characters during normalization Modified: trunk/libsyncml/data_sync_api/sml_data_sync_change_item.c Modified: trunk/libsyncml/data_sync_api/sml_data_sync_change_item.c ============================================================================== --- trunk/libsyncml/data_sync_api/sml_data_sync_change_item.c Tue Nov 10 17:39:06 2009 (r1354) +++ trunk/libsyncml/data_sync_api/sml_data_sync_change_item.c Tue Nov 10 17:39:33 2009 (r1355) @@ -44,6 +44,7 @@ SmlLocation* loc; gchar* data; guint64 planned_size; + guint64 removed_chars; gchar* content_type; gboolean missing_data; SmlDataSyncDataStoreSession* data_store; @@ -139,6 +140,7 @@ self->priv->loc = NULL; self->priv->data = NULL; self->priv->planned_size = 0; + self->priv->removed_chars = 0; self->priv->content_type = NULL; self->priv->data_store = NULL; self->priv->userdata = NULL; @@ -363,6 +365,7 @@ gchar *help = g_strjoin(NULL, self->priv->data, self->priv->data + i + 1, NULL); g_free(self->priv->data); self->priv->data = help; + self->priv->removed_chars++; } else { /* \r => \n */ self->priv->data[i] = '\n'; @@ -448,7 +451,7 @@ sml_data_sync_change_item_get_planned_size (SmlDataSyncChangeItem *self) { g_return_val_if_fail (SML_IS_DATA_SYNC_CHANGE_ITEM (self), 0); - return self->priv->planned_size; + return self->priv->planned_size - self->priv->removed_chars; } /** @@ -708,8 +711,10 @@ g_free(self->priv->data); self->priv->data = complete; + self->priv->removed_chars += frag->priv->removed_chars; - if (self->priv->planned_size && self->priv->planned_size == strlen(self->priv->data)) + if (self->priv->planned_size && + self->priv->planned_size - self->priv->removed_chars == strlen(self->priv->data)) self->priv->missing_data = FALSE; return TRUE; |