diff src/util.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 f2755f58a7da
line wrap: on
line diff
--- a/src/util.c	Tue Jul 19 10:16:32 2005 +0000
+++ b/src/util.c	Wed Jul 20 02:43:09 2005 +0000
@@ -247,10 +247,10 @@
 }
 
 /**************************************************************************
- * Quoted Printable Functions (see RFC 1341)
+ * Quoted Printable Functions (see RFC 2045).
  **************************************************************************/
-void
-gaim_quotedp_decode(const char *str, char **ret_str, int *ret_len)
+guint8 *
+gaim_quotedp_decode(const char *str, gsize *ret_len)
 {
 	char *n, *new;
 	const char *end, *p;
@@ -287,13 +287,13 @@
 
 	*n = '\0';
 
-	if (ret_len)
+	if (ret_len != NULL)
 		*ret_len = n - new;
 
 	/* Resize to take less space */
 	/* new = realloc(new, n - new); */
 
-	*ret_str = new;
+	return (guint8 *)new;
 }
 
 /**************************************************************************
@@ -413,14 +413,14 @@
 				guint8 *decoded = NULL;
 				gsize dec_len;
 				if (g_ascii_strcasecmp(encoding, "Q") == 0)
-					gaim_quotedp_decode(encoded_text, &decoded, &dec_len);
+					decoded = gaim_quotedp_decode(encoded_text, &dec_len);
 				else if (g_ascii_strcasecmp(encoding, "B") == 0)
 					decoded = gaim_base64_decode(encoded_text, &dec_len);
 				else
 					decoded = NULL;
 				if (decoded) {
 					gsize len;
-					char *converted = g_convert(decoded, dec_len, "utf-8", charset, NULL, &len, NULL);
+					char *converted = g_convert((const gchar *)decoded, dec_len, "utf-8", charset, NULL, &len, NULL);
 
 					if (converted) {
 						n = strncpy(n, converted, len) + len;