--- a/src/protocols/irc/irc.c Fri Mar 14 08:27:13 2003 +0000 +++ b/src/protocols/irc/irc.c Fri Mar 14 11:38:21 2003 +0000 @@ -61,7 +61,6 @@ /* for win32 compatability */ G_MODULE_IMPORT GSList *connections; -G_MODULE_IMPORT GSList *groups; #ifndef INET6_ADDRSTRLEN #define INET6_ADDRSTRLEN 46 @@ -570,7 +569,7 @@ handle_list(struct gaim_connection *gc, char *list) { struct irc_data *id = gc->proto_data; - GSList *gr; + GSList *gr, *gr1; id->str = g_string_append_c(id->str, ' '); id->str = g_string_append(id->str, list); @@ -579,10 +578,12 @@ return; g_strdown(id->str->str); - gr = groups; - while (gr) { - GSList *m = ((struct group *)gr->data)->members; - while (m) { + gr = gaim_blist_groups(); + gr1 = gr; + while (gr1) { + GSList *m = gaim_blist_members((struct group *)gr1->data); + GSList *m1 = m; + while (m1) { struct buddy *b = m->data; if(b->account->gc == gc) { char *tmp = g_strdup(b->name); @@ -598,10 +599,12 @@ serv_got_update(gc, b->name, 0, 0, 0, 0, 0); g_free(tmp); } - m = m->next; + m1 = m1->next; } - gr = gr->next; + g_slist_free(m); + gr1 = gr1->next; } + g_slist_free(gr); g_string_free(id->str, TRUE); id->str = g_string_new(""); } @@ -615,14 +618,16 @@ int n = g_snprintf(buf, sizeof(buf), "ISON"); gboolean found = FALSE; - GSList *gr = groups; + GSList *gr = gaim_blist_groups(); + GSList *gr1 = gr; if (!gr || id->bc) return TRUE; - while (gr) { + while (gr1) { struct group *g = gr->data; - GSList *m = g->members; - while (m) { + GSList *m = gaim_blist_members(g); + GSList *m1 = m; + while (m1) { struct buddy *b = m->data; if(b->account->gc == gc) { if (n + strlen(b->name) + 2 > sizeof(buf)) { @@ -635,10 +640,12 @@ found = TRUE; } - m = m->next; + m1 = m1->next; } - gr = gr->next; + g_slist_free(m); + gr1 = gr1->next; } + g_slist_free(gr); if (found) { g_snprintf(buf + n, sizeof(buf) - n, "\r\n");