aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/mbox
diff options
context:
space:
mode:
authorbertrand <bertrand@helixcode.com>2000-01-19 12:33:14 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>2000-01-19 12:33:14 +0800
commitd44875ac5f2dfc7753cc33281c5fc8a866edd0b7 (patch)
tree8387b2fee5cb9f041f4fedeb2b76ab800d8929e9 /camel/providers/mbox
parentbd4e64bd780fc0e39832f5c5abf1a15522fa6076 (diff)
downloadgsoc2013-evolution-d44875ac5f2dfc7753cc33281c5fc8a866edd0b7.tar.gz
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/providers/mbox')
-rw-r--r--camel/providers/mbox/camel-mbox-parser.c2
-rw-r--r--camel/providers/mbox/camel-mbox-summary.c16
-rw-r--r--camel/providers/mbox/camel-mbox-summary.h4
-rw-r--r--camel/providers/mbox/camel-mbox-utils.c26
4 files changed, 30 insertions, 18 deletions
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;
}