From 124f5fb9f397e740a544ee340d2a707c4b77d59a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sat, 10 Apr 2010 09:01:25 +0000 Subject: [PATCH] * mime_parser(), mime_decode(), the_mime_parser(); use typedef for callback functions, signature gets compacter that way --- libcitadel/lib/libcitadel.h | 145 +++++++---------------------------- libcitadel/lib/mime_parser.c | 138 ++++----------------------------- 2 files changed, 44 insertions(+), 239 deletions(-) diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index d89995833..4904ff760 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -118,46 +118,25 @@ void ShutDownLibCitadel(void); void extract_key(char *target, char *source, long sourcelen, char *key, long keylen, char KeyEnd); + +typedef void (*MimeParserCallBackType)(char *cbname, + char *cbfilename, + char *cbpartnum, + char *cbdisp, + void *cbcontent, + char *cbtype, + char *cbcharset, + size_t cblength, + char *cbencoding, + char *cbid, + void *cbuserdata); + void mime_parser(char *content_start, char *content_end, - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void *userdata, - int dont_decode -); + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode); @@ -168,86 +147,18 @@ void mime_decode(char *partnum, char *disposition, char *id, char *name, char *filename, - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void *userdata, - int dont_decode -); + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode); void the_mime_parser(char *partnum, char *content_start, char *content_end, - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void *userdata, - int dont_decode -); + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode); typedef struct StrBuf StrBuf; diff --git a/libcitadel/lib/mime_parser.c b/libcitadel/lib/mime_parser.c index 6db2074a4..765188c01 100644 --- a/libcitadel/lib/mime_parser.c +++ b/libcitadel/lib/mime_parser.c @@ -174,45 +174,11 @@ void mime_decode(char *partnum, char *disposition, char *id, char *name, char *filename, - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void *userdata, - int dont_decode -) + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode) { char *decoded; @@ -277,45 +243,11 @@ void mime_decode(char *partnum, */ void the_mime_parser(char *partnum, char *content_start, char *content_end, - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - void *userdata, - int dont_decode -) + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode) { char *ptr; @@ -653,50 +585,12 @@ end_parser: /* free the buffers! end the oppression!! */ * considered to have ended when the parser encounters a 0x00 byte. */ void mime_parser(char *content_start, - char *content_end, - - void (*CallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - - void (*PreMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - - void (*PostMultiPartCallBack) - (char *cbname, - char *cbfilename, - char *cbpartnum, - char *cbdisp, - void *cbcontent, - char *cbtype, - char *cbcharset, - size_t cblength, - char *cbencoding, - char *cbid, - void *cbuserdata), - - void *userdata, - int dont_decode -) + char *content_end, + MimeParserCallBackType CallBack, + MimeParserCallBackType PreMultiPartCallBack, + MimeParserCallBackType PostMultiPartCallBack, + void *userdata, + int dont_decode) { the_mime_parser("", content_start, content_end, -- 2.30.2