diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test2.c | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/tests/test2.c b/tests/test2.c index be72e8f8a6..4fa3bc59f1 100644 --- a/tests/test2.c +++ b/tests/test2.c @@ -2,34 +2,54 @@ /* tests mime message file parsing */ #include "gmime-utils.h" #include "stdio.h" +#include "camel-log.h" +#include "camel-mime-message.h" +#include "camel-mime-part.h" -void print_header_line (gpointer data, gpointer user_data) +void print_header_pair (gpointer key, gpointer value, gpointer user_data) { - GString *header_line = (GString *)data; + GString *header_name = (GString *)key; + GString *header_value = (GString *)value; + CamelMimeMessage *message = (CamelMimeMessage *) user_data; + + printf("\n--------- New Header ----------\n"); - if ((header_line) && (header_line->str)) - printf("%s\n", header_line->str); + if ((header_name) && (header_name->str)) + printf("header name :%s\n", header_name->str); + if ((header_value) && (header_value->str)) + printf("header value :%s\n", header_value->str); + + camel_mime_part_add_header ( CAMEL_MIME_PART (message), header_name, header_value); + printf("--------- End -----------------\n"); + } void main (int argc, char**argv) { FILE *input_file; - GList *header_lines; + GHashTable *header_table; + CamelMimeMessage *message; + + gtk_init (&argc, &argv); - + camel_debug_level = WARNING; + message = camel_mime_message_new_with_session( (CamelSession *)NULL); + input_file = fopen ("mail.test", "r"); if (!input_file) { perror("could not open input file"); exit(2); } - header_lines = get_header_lines_from_file (input_file); - if (header_lines) g_list_foreach (header_lines, print_header_line, NULL); + header_table = get_header_table_from_file (input_file); + + if (header_table) g_hash_table_foreach (header_table, print_header_pair, (gpointer)message); else printf("header is empty, no header line present\n"); + fclose (input_file); |