src/util.c

changeset 7667
df3cab56bb46
parent 7665
59c2f9b984aa
child 7673
ed14962ad52a
--- a/src/util.c	Sun Nov 30 04:33:15 2003 +0000
+++ b/src/util.c	Sun Nov 30 05:10:24 2003 +0000
@@ -269,7 +269,7 @@
 
 	if (size)
 		*size = n - new;
-	
+
 	/* Resize to take less space */
 	/* new = realloc(new, n - new); */
 
@@ -294,8 +294,8 @@
 		gaim_base64_decode(text, &decoded, &len);
 	else
 		return NULL;
-	
-	
+
+
 	converted = g_convert(decoded, len, OUT_CHARSET, charset, NULL, NULL, NULL);
 	g_free(decoded);
 
@@ -323,14 +323,14 @@
 		int len;
 		char *token;
 		GQueue *tokens = g_queue_new();
-		
+
 		for (cur += 2, mark = cur; *cur; cur++) {
 			if (*cur == '?') {
 				token = g_strndup(mark, cur - mark);
 				g_queue_push_head(tokens, token);
 
 				mark = (cur + 1);
-				
+
 				if (*mark == '=')
 					break;
 			} else {
@@ -352,27 +352,29 @@
 			charset = g_queue_pop_tail(tokens);
 			encoding = g_queue_pop_tail(tokens);
 			text = g_queue_pop_tail(tokens);
-			
+
 			if ((decoded = gaim_mime_decode_word(charset, encoding, text))) {
 				len = strlen(decoded);
 				n = strncpy(n, decoded, len) + len;
 				g_free(decoded);
 			}
-			
+
 			g_free(charset);
 			g_free(encoding);
 			g_free(text);
 		} else {
 			len = cur - unencoded_start;
 			n = strncpy(n, unencoded_start, len) + len;
-			
+
 			while ((token = g_queue_pop_tail(tokens)))
 				g_free(token);
 		}
-		
+
 		g_queue_free(tokens);
 	}
 
+	*n = '\0';
+
 	if (*unencoded_start)
 		n = strcpy(n, unencoded_start);
 

mercurial