changeset 3200:c98dc4884ea3

[gaim-migrate @ 3217] No longer there. MSN Fix. Maybe. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Fri, 03 May 2002 23:19:53 +0000
parents 8ceb5b1298a7
children 315bea053a66
files src/protocols/msn/msn.c
diffstat 1 files changed, 47 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/msn/msn.c	Fri May 03 20:03:05 2002 +0000
+++ b/src/protocols/msn/msn.c	Fri May 03 23:19:53 2002 +0000
@@ -2198,58 +2198,62 @@
 	if (!md->permit && !md->deny)
 		return;
 
-	s = g_slist_nth(gc->permit, g_slist_length(md->permit));
-	while (s) {
-		char *who = s->data;
-		s = s->next;
-		if (!strchr(who, '@')) {
-			t = g_slist_append(t, who);
-			continue;
+	if (md->permit) {
+		s = g_slist_nth(gc->permit, g_slist_length(md->permit));
+		while (s) {
+			char *who = s->data;
+			s = s->next;
+			if (!strchr(who, '@')) {
+				t = g_slist_append(t, who);
+				continue;
+			}
+			g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, who, who);
+			if (msn_write(md->fd, buf, strlen(buf)) < 0) {
+				hide_login_progress(gc, "Write error");
+				signoff(gc);
+				return;
+			}
 		}
-		g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, who, who);
-		if (msn_write(md->fd, buf, strlen(buf)) < 0) {
-			hide_login_progress(gc, "Write error");
-			signoff(gc);
-			return;
+		while (t) {
+			char *who = t->data;
+			gc->permit = g_slist_remove(gc->permit, who);
+			g_free(who);
+			t = t->next;
 		}
-	}
-	while (t) {
-		char *who = t->data;
-		gc->permit = g_slist_remove(gc->permit, who);
-		g_free(who);
-		t = t->next;
-	}
-	if (t)
-		g_slist_free(t);
+		if (t)
+			g_slist_free(t);
 	t = NULL;
 	g_slist_free(md->permit);
 	md->permit = NULL;
-
-	s = g_slist_nth(gc->deny, g_slist_length(md->deny));
-	while (s) {
-		char *who = s->data;
-		s = s->next;
-		if (!strchr(who, '@')) {
-			t = g_slist_append(t, who);
-			continue;
+	}
+	
+	if (md->deny) {
+		s = g_slist_nth(gc->deny, g_slist_length(md->deny));
+		while (s) {
+			char *who = s->data;
+			s = s->next;
+			if (!strchr(who, '@')) {
+				t = g_slist_append(t, who);
+				continue;
+			}
+			g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, who, who);
+			if (msn_write(md->fd, buf, strlen(buf)) < 0) {
+				hide_login_progress(gc, "Write error");
+				signoff(gc);
+				return;
+			}
 		}
-		g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, who, who);
-		if (msn_write(md->fd, buf, strlen(buf)) < 0) {
-			hide_login_progress(gc, "Write error");
-			signoff(gc);
-			return;
+		while (t) {
+			char *who = t->data;
+			gc->deny = g_slist_remove(gc->deny, who);
+			g_free(who);
+			t = t->next;
 		}
-	}
-	while (t) {
-		char *who = t->data;
-		gc->deny = g_slist_remove(gc->deny, who);
-		g_free(who);
-		t = t->next;
-	}
-	if (t)
-		g_slist_free(t);
+		if (t)
+			g_slist_free(t);
 	g_slist_free(md->deny);
 	md->deny = NULL;
+	}
 }
 
 static void msn_add_permit(struct gaim_connection *gc, char *who)