From 91195af48f02c220eb2eca29c2ab417faf8a705f Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 18 Sep 2003 19:02:15 +0000 Subject: New function to replace the one from camel-mime-part.c 2003-09-18 Jeffrey Stedfast * camel-mime-utils.c (camel_transfer_encoding_to_string): New function to replace the one from camel-mime-part.c (camel_transfer_encoding_from_string): Same. (camel_content_transfer_encoding_decode): Renamed from camel_header_content_encoding_decode(). * camel-mime-part.c (camel_mime_part_encoding_to_string): Removed. (camel_mime_part_encoding_from_string): Removed. * camel-data-wrapper.[c,h]: updated for CamelTransferEncoding namespace changes * camel-folder-summary.c: updated for CamelTransferEncoding namespace changes * camel-mime-filter-bestenc.[c,h]: updated for CamelTransferEncoding namespace changes * camel-mime-message.c: updated for CamelTransferEncoding namespace changes * camel-mime-part-utils.c: updated for CamelTransferEncoding namespace changes * camel-multipart-signed.c: updated for CamelTransferEncoding namespace changes * camel-smime-context.c: updated for CamelTransferEncoding namespace changes * providers/imapp/camel-imapp-utils.c: updated for CamelTransferEncoding namespace changes * tests/lib/messages.c: updated for CamelTransferEncoding namespace changes * tests/message/test1.c: updated for CamelTransferEncoding namespace changes svn path=/trunk/; revision=22617 --- camel/camel-mime-utils.c | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) (limited to 'camel/camel-mime-utils.c') diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c index 197ae69058..06bde77f7c 100644 --- a/camel/camel-mime-utils.c +++ b/camel/camel-mime-utils.c @@ -2871,6 +2871,40 @@ camel_header_address_decode(const char *in, const char *charset) return list; } +/* this must be kept in sync with the header */ +static const char *encodings[] = { + "", + "7bit", + "8bit", + "base64", + "quoted-printable", + "binary", + "x-uuencode", +}; + +const char * +camel_transfer_encoding_to_string (CamelTransferEncoding encoding) +{ + if (encoding >= sizeof (encodings) / sizeof (encodings[0])) + encoding = 0; + + return encodings[encoding]; +} + +CamelTransferEncoding +camel_transfer_encoding_from_string (const char *string) +{ + int i; + + if (string != NULL) { + for (i = 0; i < sizeof (encodings) / sizeof (encodings[0]); i++) + if (!strcasecmp (string, encodings[i])) + return i; + } + + return CAMEL_TRANSFER_ENCODING_DEFAULT; +} + void camel_header_mime_decode(const char *in, int *maj, int *min) { @@ -3324,10 +3358,11 @@ camel_content_type_simple (CamelContentType *ct) } char * -camel_header_content_encoding_decode(const char *in) +camel_content_transfer_encoding_decode (const char *in) { if (in) - return decode_token(&in); + return decode_token (&in); + return NULL; } -- cgit v1.2.3