diff src/conversation.c @ 4621:69f028a6f357

[gaim-migrate @ 4912] Added half-op support, used on some IRC networks. Also fixed the bug where trying to IM a person in a chat with a @, %, or + prefix was keeping that prefix for the username in the IM window. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 27 Feb 2003 09:42:18 +0000
parents 767093a2ddaf
children 56dde5f7d3a8
line wrap: on
line diff
--- a/src/conversation.c	Wed Feb 26 06:21:50 2003 +0000
+++ b/src/conversation.c	Thu Feb 27 09:42:18 2003 +0000
@@ -64,18 +64,23 @@
 	if (*a == '@') {
 		if (*b != '@') return -1;
 
-		return (strcasecmp(a + 1, b + 1));
+		return strcasecmp(a + 1, b + 1);
+
+	} else if (*a == '%') {
+		if (*b != '%') return -1;
+
+		return strcasecmp(a + 1, b + 1);
 
 	} else if (*a == '+') {
 		if (*b == '@') return  1;
 		if (*b != '+') return -1;
-		
-		return (strcasecmp(a + 1, b + 1));
-
-	} else if (*a == '@' || *b == '+')
+
+		return strcasecmp(a + 1, b + 1);
+
+	} else if (*b == '@' || *b == '%' || *b == '+')
 		return 1;
 
-	return (strcasecmp(a, b));
+	return strcasecmp(a, b);
 }
 
 static gboolean
@@ -1768,7 +1773,7 @@
 		const char *ign = (const char *)ignored->data;
 
 		if (!g_strcasecmp(user, ign) ||
-			(*ign == '+' && !g_strcasecmp(user, ign + 1)))
+			((*ign == '+' || *ign == '%') && !g_strcasecmp(user, ign + 1)))
 			return ign;
 
 		if (*ign == '@') {