comparison src/mime.c @ 11132:a4611130e3eb

[gaim-migrate @ 13189] A bit more dewarnification. I also think I found a memleak in sametime. siege, could you please check that out sometime? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 20 Jul 2005 02:43:09 +0000
parents 719779387f96
children 096020ae09a9
comparison
equal deleted inserted replaced
11131:ece127d56c14 11132:a4611130e3eb
302 return part->data->str; 302 return part->data->str;
303 } 303 }
304 304
305 305
306 void gaim_mime_part_get_data_decoded(GaimMimePart *part, 306 void gaim_mime_part_get_data_decoded(GaimMimePart *part,
307 char **data, gsize *len) { 307 guint8 **data, gsize *len) {
308 const char *enc; 308 const char *enc;
309 309
310 g_return_if_fail(part != NULL); 310 g_return_if_fail(part != NULL);
311 g_return_if_fail(data != NULL); 311 g_return_if_fail(data != NULL);
312 g_return_if_fail(len != NULL); 312 g_return_if_fail(len != NULL);
314 g_assert(part->data != NULL); 314 g_assert(part->data != NULL);
315 315
316 enc = gaim_mime_part_get_field(part, "content-transfer-encoding"); 316 enc = gaim_mime_part_get_field(part, "content-transfer-encoding");
317 317
318 if(! enc) { 318 if(! enc) {
319 *data = g_strdup(part->data->str); 319 *data = (guint8 *)g_strdup(part->data->str);
320 *len = part->data->len; 320 *len = part->data->len;
321 321
322 } else if(! g_ascii_strcasecmp(enc, "7bit")) { 322 } else if(! g_ascii_strcasecmp(enc, "7bit")) {
323 *data = g_strdup(part->data->str); 323 *data = (guint8 *)g_strdup(part->data->str);
324 *len = part->data->len; 324 *len = part->data->len;
325 325
326 } else if(! g_ascii_strcasecmp(enc, "8bit")) { 326 } else if(! g_ascii_strcasecmp(enc, "8bit")) {
327 *data = g_strdup(part->data->str); 327 *data = (guint8 *)g_strdup(part->data->str);
328 *len = part->data->len; 328 *len = part->data->len;
329 329
330 } else if(! g_ascii_strcasecmp(enc, "base16")) { 330 } else if(! g_ascii_strcasecmp(enc, "base16")) {
331 *data = gaim_base16_decode(part->data->str, len); 331 *data = gaim_base16_decode(part->data->str, len);
332 332
333 } else if(! g_ascii_strcasecmp(enc, "base64")) { 333 } else if(! g_ascii_strcasecmp(enc, "base64")) {
334 *data = gaim_base64_decode(part->data->str, len); 334 *data = gaim_base64_decode(part->data->str, len);
335 335
336 } else if(! g_ascii_strcasecmp(enc, "quoted-printable")) { 336 } else if(! g_ascii_strcasecmp(enc, "quoted-printable")) {
337 gaim_quotedp_decode(part->data->str, data, len); 337 *data = gaim_quotedp_decode(part->data->str, len);
338 338
339 } else { 339 } else {
340 gaim_debug_warning("mime", "gaim_mime_part_get_data_decoded:" 340 gaim_debug_warning("mime", "gaim_mime_part_get_data_decoded:"
341 " unknown encoding '%s'\n", enc); 341 " unknown encoding '%s'\n", enc);
342 *data = NULL; 342 *data = NULL;