diff options
author | bertrand <bertrand@helixcode.com> | 2000-01-19 12:33:14 +0800 |
---|---|---|
committer | Bertrand Guiheneuf <bertrand@src.gnome.org> | 2000-01-19 12:33:14 +0800 |
commit | d44875ac5f2dfc7753cc33281c5fc8a866edd0b7 (patch) | |
tree | 8387b2fee5cb9f041f4fedeb2b76ab800d8929e9 /camel | |
parent | bd4e64bd780fc0e39832f5c5abf1a15522fa6076 (diff) | |
download | gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.gz gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.bz2 gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.lz gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.xz gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.zst gsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.zip |
tests for summary and parsing process of mbox files.
2000-01-18 bertrand <bertrand@helixcode.com>
* tests/test9.c:
tests for summary and parsing process of mbox files.
* camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): do
not use case insensitive comp to detect message separators. Kill
some nasty bugs in netscape file parsing,
* camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary):
don't use g_array_append but write directly inside the
array data instead. Better performance and bug fix.
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_load_summary):
fix the name and bugs.
* camel/camel-folder-summary.h: update the class
method definition to match the public defs.
svn path=/trunk/; revision=1592
Diffstat (limited to 'camel')
-rw-r--r-- | camel/camel-folder-summary.c | 4 | ||||
-rw-r--r-- | camel/camel-folder-summary.h | 4 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-parser.c | 2 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-summary.c | 16 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-summary.h | 4 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-utils.c | 26 |
6 files changed, 34 insertions, 22 deletions
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c index 4d1745e3b2..fdeec5e13c 100644 --- a/camel/camel-folder-summary.c +++ b/camel/camel-folder-summary.c @@ -65,8 +65,8 @@ camel_folder_summary_init (gpointer object, gpointer klass) CamelFolderSummary *summary = CAMEL_FOLDER_SUMMARY (object); CAMEL_LOG_FULL_DEBUG ( "camel_folder_summary_init:: Entering\n"); - summary->subfolder_info_list = g_array_new (FALSE, FALSE, sizeof (CamelFolderInfo); - summary->message_info_list = g_array_new (FALSE, FALSE, sizeof (CamelMessageInfo); + summary->subfolder_info_list = g_array_new (FALSE, FALSE, sizeof (CamelFolderInfo)); + summary->message_info_list = g_array_new (FALSE, FALSE, sizeof (CamelMessageInfo)); CAMEL_LOG_FULL_DEBUG ( "camel_folder_summary_init:: Leaving\n"); } diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h index b89c546090..414e7a24c9 100644 --- a/camel/camel-folder-summary.h +++ b/camel/camel-folder-summary.h @@ -85,8 +85,8 @@ typedef struct { GtkObjectClass parent_class; /* Virtual methods */ - const GList * (*get_subfolder_info_list) (CamelFolderSummary *summary); - const GList * (*get_message_info_list) (CamelFolderSummary *summary); + const GArray * (*get_subfolder_info_list) (CamelFolderSummary *summary); + const GArray * (*get_message_info_list) (CamelFolderSummary *summary); } CamelFolderSummaryClass; diff --git a/camel/providers/mbox/camel-mbox-parser.c b/camel/providers/mbox/camel-mbox-parser.c index 7eee449f1d..7503470426 100644 --- a/camel/providers/mbox/camel-mbox-parser.c +++ b/camel/providers/mbox/camel-mbox-parser.c @@ -620,7 +620,7 @@ camel_mbox_parse_file (int fd, } /* is the next part a message delimiter ? */ - if (g_strncasecmp (parser->buffer + parser->current_position, + if (strncmp (parser->buffer + parser->current_position, parser->message_delimiter, parser->message_delimiter_length) == 0) { diff --git a/camel/providers/mbox/camel-mbox-summary.c b/camel/providers/mbox/camel-mbox-summary.c index a91cd1f6ad..6915cd4a9b 100644 --- a/camel/providers/mbox/camel-mbox-summary.c +++ b/camel/providers/mbox/camel-mbox-summary.c @@ -63,12 +63,13 @@ camel_mbox_save_summary (CamelMboxSummary *summary, const gchar *filename, Camel } /* compute and write the mbox file md5 signature */ - md5_get_digest_from_file (filename, summary->md5_digest); + //md5_get_digest_from_file (filename, summary->md5_digest); /* write the number of messages + the md5 signatures */ write (fd, summary, sizeof (guint) + sizeof (guchar) * 16); + printf ("%d %d\n", summary->nb_message, summary->message_info->len); for (cur_msg=0; cur_msg < summary->nb_message; cur_msg++) { msg_info = (CamelMboxSummaryInformation *)(summary->message_info->data) + cur_msg; @@ -79,6 +80,7 @@ camel_mbox_save_summary (CamelMboxSummary *summary, const gchar *filename, Camel sizeof (guint32) + sizeof (guint) + sizeof (guint32) + sizeof (guchar)); + //printf ("IN iewr subject = %s\n", msg_info->subject); /* write subject */ field_lgth = msg_info->subject ? strlen (msg_info->subject) : 0; write (fd, &field_lgth, sizeof (guint)); @@ -116,7 +118,7 @@ camel_mbox_save_summary (CamelMboxSummary *summary, const gchar *filename, Camel CamelMboxSummary * -mbox_load_summary (const gchar *filename, CamelException *ex) +camel_mbox_load_summary (const gchar *filename, CamelException *ex) { CamelMboxSummaryInformation *msg_info; guint cur_msg; @@ -200,3 +202,13 @@ mbox_load_summary (const gchar *filename, CamelException *ex) } + + + + + + + + + + diff --git a/camel/providers/mbox/camel-mbox-summary.h b/camel/providers/mbox/camel-mbox-summary.h index 29c7d24f93..95d9574395 100644 --- a/camel/providers/mbox/camel-mbox-summary.h +++ b/camel/providers/mbox/camel-mbox-summary.h @@ -55,10 +55,10 @@ typedef struct { void -camel_mbox_save_summary (CamelMboxSummary *, const gchar *filename, CamelException *ex); +camel_mbox_save_summary (CamelMboxSummary *summary, const gchar *filename, CamelException *ex); CamelMboxSummary * -mbox_load_summary (const gchar *filename, CamelException *ex); +camel_mbox_load_summary (const gchar *filename, CamelException *ex); diff --git a/camel/providers/mbox/camel-mbox-utils.c b/camel/providers/mbox/camel-mbox-utils.c index d0b0db5518..6e4fc42faa 100644 --- a/camel/providers/mbox/camel-mbox-utils.c +++ b/camel/providers/mbox/camel-mbox-utils.c @@ -259,7 +259,7 @@ camel_mbox_write_xev (gchar *mbox_file_name, cur_pos = cur_msg_info->message_position + cur_msg_info->end_of_headers_offset; - + copy_file_chunk (fd1, fd2, bytes_to_copy, ex); if (camel_exception_get_id (ex)) { close (fd1); @@ -280,7 +280,8 @@ camel_mbox_write_xev (gchar *mbox_file_name, } cur_msg_info->message_position += cur_offset; } - + + bytes_to_copy = end_of_last_message - cur_pos; copy_file_chunk (fd1, fd2, bytes_to_copy, ex); @@ -342,7 +343,7 @@ parsed_information_to_mbox_summary (GArray *parsed_information) guint cur_msg; CamelMboxParserMessageInfo *cur_msg_info; GArray *mbox_summary; - CamelMboxSummaryInformation cur_sum_info; + CamelMboxSummaryInformation *cur_sum_info; mbox_summary = g_array_new (FALSE, FALSE, sizeof (CamelMboxSummaryInformation)); mbox_summary = g_array_set_size (mbox_summary, parsed_information->len); @@ -350,25 +351,24 @@ parsed_information_to_mbox_summary (GArray *parsed_information) for (cur_msg = 0; cur_msg < parsed_information->len; cur_msg++) { cur_msg_info = (CamelMboxParserMessageInfo *)(parsed_information->data) + cur_msg; + cur_sum_info = (CamelMboxSummaryInformation *)(mbox_summary->data) + cur_msg; - cur_sum_info.position = cur_msg_info->message_position; + cur_sum_info->position = cur_msg_info->message_position; - cur_sum_info.x_evolution_offset = cur_msg_info->x_evolution_offset; + cur_sum_info->x_evolution_offset = cur_msg_info->x_evolution_offset; - cur_sum_info.uid = cur_msg_info->uid; + cur_sum_info->uid = cur_msg_info->uid; - cur_sum_info.status = cur_msg_info->status; + cur_sum_info->status = cur_msg_info->status; - cur_sum_info.subject = cur_msg_info->subject; + cur_sum_info->subject = cur_msg_info->subject; cur_msg_info->subject = NULL; - cur_sum_info.sender = cur_msg_info->from; + cur_sum_info->sender = cur_msg_info->from; cur_msg_info->from = NULL; - cur_sum_info.to = cur_msg_info->to; - cur_msg_info->to = NULL; - - g_array_append_vals (mbox_summary, &cur_sum_info, 1); + cur_sum_info->to = cur_msg_info->to; + cur_msg_info->to = NULL; } |