72 #include <sys/types.h> 95 unsigned long headers_len, data_len;
97 i = mime_parts = headers_len = data_len = 0;
99 debug(
"wap.wsp.multipart.form.data", 0,
"MIMEDEC: begining decoding");
101 if(binary_mime == NULL ||
octstr_len(binary_mime) < 1) {
102 warning(0,
"MIMEDEC: invalid mime, ending");
113 debug(
"mime", 0,
"MIMEDEC: context created");
116 debug(
"mime", 0,
"MIMEDEC: mime has %ld multipart entities", mime_parts);
117 if(mime_parts == 0) {
118 debug(
"mime", 0,
"MIMEDEC: mime has none multipart entities, ending");
124 List *gwlist_headers;
133 debug(
"mime", 0,
"MIMEDEC[%ld]: headers length <0x%02lx>, " 134 "data length <0x%02lx>", i, headers_len, data_len);
143 error(0,
"MIMEDEC[%ld]: headers length is out of range, ending", i);
155 error(0,
"MIMEDEC[%ld]: data length is out of range, ending", i);
void error(int err, const char *fmt,...)
void octstr_append(Octstr *ostr1, const Octstr *ostr2)
long gwlist_len(List *list)
void * gwlist_get(List *list, long pos)
int mime_decompile(Octstr *binary_mime, Octstr **mime)
#define octstr_get_cstr(ostr)
Octstr * octstr_imm(const char *cstr)
Octstr * parse_get_octets(ParseContext *context, long length)
void warning(int err, const char *fmt,...)
#define octstr_create(cstr)
long octstr_len(const Octstr *ostr)
void debug(const char *place, int err, const char *fmt,...)
unsigned long parse_get_uintvar(ParseContext *context)
ParseContext * parse_context_create(Octstr *str)
long parse_octets_left(ParseContext *context)