From bb9fa0c2f852d7fb4de73ab4ca863a71b81aec6d Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 22 Jul 2010 16:43:31 +0100 Subject: [PATCH] Restart when not last in range --- ews_syncfolder.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ews_syncfolder.c b/ews_syncfolder.c index 5335d55..6ce4324 100644 --- a/ews_syncfolder.c +++ b/ews_syncfolder.c @@ -111,7 +111,7 @@ int main(int argc, char **argv) logger = soup_logger_new(SOUP_LOGGER_LOG_BODY, -1); soup_session_add_feature(sess, SOUP_SESSION_FEATURE(logger)); } - + again: msg = soup_ews_message_new(url, "SyncFolderItems"); @@ -140,7 +140,7 @@ int main(int argc, char **argv) g_free(syncstate); } soup_soap_message_start_element(msg, "MaxChangesReturned", NULL, NULL); - soup_soap_message_write_int(msg, 50); + soup_soap_message_write_int(msg, 5); soup_soap_message_end_element(msg); soup_soap_message_end_element(msg); /* SyncFolderItems */ @@ -263,7 +263,12 @@ int main(int argc, char **argv) changes = this->next; free(this); } + g_file_set_contents(statefilename, syncstate, strlen(syncstate), NULL); + if (!last_in_range) { + printf("Not last in range; restarting\n"); + goto again; + } g_free(syncstate); g_free(statefilename); return 0; -- 2.49.0