Mercurial > pidgin
changeset 25563:24aa97dd601f
applied changes from 0064869870b3507952491598f4d4b8d4a99fbc6b
through 0d220fdade88a561785e674e66d01a2a34bd4b1c
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Tue, 28 Apr 2009 20:15:53 +0000 |
parents | 2a34a3f5da2e |
children | 490b39a1d438 |
files | libpurple/protocols/irc/irc.h libpurple/protocols/irc/msgs.c |
diffstat | 2 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/irc/irc.h Tue Apr 28 20:14:08 2009 +0000 +++ b/libpurple/protocols/irc/irc.h Tue Apr 28 20:15:53 2009 +0000 @@ -72,7 +72,7 @@ char *name; char *server; char *serverinfo; - char *channels; + GString *channels; int ircop; int identified; int idle;
--- a/libpurple/protocols/irc/msgs.c Tue Apr 28 20:14:08 2009 +0000 +++ b/libpurple/protocols/irc/msgs.c Tue Apr 28 20:15:53 2009 +0000 @@ -325,7 +325,11 @@ if (args[3]) irc->whois.signon = (time_t)atoi(args[3]); } else if (!strcmp(name, "319")) { - irc->whois.channels = g_strdup(args[2]); + if (irc->whois.channels == NULL) { + irc->whois.channels = g_string_new(args[2]); + } else { + irc->whois.channels = g_string_append(irc->whois.channels, args[2]); + } } else if (!strcmp(name, "320")) { irc->whois.identified = 1; } @@ -380,8 +384,8 @@ g_free(irc->whois.serverinfo); } if (irc->whois.channels) { - purple_notify_user_info_add_pair(user_info, _("Currently on"), irc->whois.channels); - g_free(irc->whois.channels); + purple_notify_user_info_add_pair(user_info, _("Currently on"), irc->whois.channels->str); + g_string_free(irc->whois.channels, TRUE); } if (irc->whois.idle) { gchar *timex = purple_str_seconds_to_string(irc->whois.idle);