diff src/server.c @ 318:35796808896a

[gaim-migrate @ 328] This is the way it's *SUPPOSED* to be done. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 02 Jun 2000 18:59:27 +0000
parents f6183455b855
children cea40691706c
line wrap: on
line diff
--- a/src/server.c	Fri Jun 02 18:23:54 2000 +0000
+++ b/src/server.c	Fri Jun 02 18:59:27 2000 +0000
@@ -352,33 +352,36 @@
 	int at;
 	GList *list;
 
-        /* FIXME!  We flash here. */
-        if (permdeny == 1 || permdeny == 3) {
-        	g_snprintf(buf, sizeof(buf), "toc_add_permit");
+        if (permdeny == 1 || permdeny == 4) {
+        	g_snprintf(buf, sizeof(buf), "toc_add_deny");
                 sflap_send(buf, -1, TYPE_DATA);
         } else {
-                g_snprintf(buf, sizeof(buf), "toc_add_deny");
+                g_snprintf(buf, sizeof(buf), "toc_add_permit");
                 sflap_send(buf, -1, TYPE_DATA);
         }
 
 
-	at = g_snprintf(buf, sizeof(buf), "toc_add_permit");
-	list = permit;
-	while(list) {
-                at += g_snprintf(&buf[at], sizeof(buf) - at, " %s", normalize(list->data));
-                list = list->next;
+	if (permit) {
+		at = g_snprintf(buf, sizeof(buf), "toc_add_permit");
+		list = permit;
+		while(list) {
+	                at += g_snprintf(&buf[at], sizeof(buf) - at, " %s", normalize(list->data));
+	                list = list->next;
+		}
+		buf[at] = 0;
+		sflap_send(buf, -1, TYPE_DATA);
 	}
-	buf[at] = 0;
-	sflap_send(buf, -1, TYPE_DATA);
 
-	at = g_snprintf(buf, sizeof(buf), "toc_add_deny");
-	list = deny;
-	while(list) {
-                at += g_snprintf(&buf[at], sizeof(buf) - at, " %s", normalize(list->data));
-		list = list->next;
+	if (deny) {
+		at = g_snprintf(buf, sizeof(buf), "toc_add_deny");
+		list = deny;
+		while(list) {
+	                at += g_snprintf(&buf[at], sizeof(buf) - at, " %s", normalize(list->data));
+			list = list->next;
+		}
+		buf[at] = 0;
+		sflap_send(buf, -1, TYPE_DATA);
 	}
-	buf[at] = 0;
-	sflap_send(buf, -1, TYPE_DATA);
 #else
 	/* oscar requires us to do everyone at once (?) */
 	/* I think this code is OK now. */