diff src/protocols/irc/irc.c @ 3063:22c84cbcd5a6

[gaim-migrate @ 3077] A buddy window placement fix by Marc Deslauriers and a compile fix from Benjamin Miller. Thanks guys. Also, an irc fix. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Sat, 16 Mar 2002 20:14:24 +0000
parents 1143524a2eaf
children 793fb2e9d53b
line wrap: on
line diff
--- a/src/protocols/irc/irc.c	Sat Mar 16 06:16:11 2002 +0000
+++ b/src/protocols/irc/irc.c	Sat Mar 16 20:14:24 2002 +0000
@@ -266,30 +266,45 @@
 		str = g_string_append(str, cur);
 		cur = ++end;
 		if (!g_strncasecmp(cur, "B>", 2)) {
-			bold = TRUE;
-			str = g_string_append_c(str, '\2');
+			if (!bold) {
+				bold = TRUE;
+				str = g_string_append_c(str, '\2');
+			}
 			cur = cur + 2;
 		} else if (!g_strncasecmp(cur, "I>", 2)) { /* use bold for italics too */
-			italics = TRUE;
-			str = g_string_append_c(str, '\2');
+			if (!italics) {
+				italics = TRUE;
+				str = g_string_append_c(str, '\2');
+			}
 			cur = cur + 2;
 		} else if (!g_strncasecmp(cur, "U>", 2)) {
-			underline = TRUE;
-			str = g_string_append_c(str, '\37');
+			if (!underline) {
+				underline = TRUE;
+				str = g_string_append_c(str, '\37');
+			}
 			cur = cur + 2;
-		}  else if (!g_strncasecmp(cur, "/B>", 3) && bold) { 
-			bold = FALSE;
-			str = g_string_append_c(str, '\2');
+		}  else if (!g_strncasecmp(cur, "/B>", 3)) { 
+			if (bold) {
+				bold = FALSE;
+				str = g_string_append_c(str, '\2');
+			}
 			cur = cur + 3;
-		}  else if (!g_strncasecmp(cur, "/I>", 3) && italics) { 
-			bold = FALSE;
-			str = g_string_append_c(str, '\2');
+		}  else if (!g_strncasecmp(cur, "/I>", 3)) { 
+			if (italics) {
+				italics = FALSE;
+				str = g_string_append_c(str, '\2');
+			}
 			cur = cur + 3;
-		}  else if (!g_strncasecmp(cur, "/U>", 3) && underline) { 
-			bold = FALSE;
-			str = g_string_append_c(str, '\37');
+		}  else if (!g_strncasecmp(cur, "/U>", 3)) { 
+			if (underline) {
+				underline = FALSE;
+				str = g_string_append_c(str, '\37');
+			}
 			cur = cur + 3;
+		}  else {
+			str = g_string_append_c(str, '<');
 		}
+		
 	}
 	str = g_string_append(str, cur);
 	return str;