--- a/src/protocols/irc/irc.c Sat Dec 21 05:37:45 2002 +0000 +++ b/src/protocols/irc/irc.c Sat Dec 21 19:33:54 2002 +0000 @@ -2290,14 +2290,17 @@ struct irc_data *idata = gc->proto_data; char buf[IRC_BUF_LEN]; - if (gc->away) + if (gc->away) { + g_free(gc->away); gc->away = NULL; + } if (msg) { g_snprintf(buf, sizeof(buf), "AWAY :%s\r\n", msg); - gc->away = ""; + gc->away = g_strdup(msg); } else g_snprintf(buf, sizeof(buf), "AWAY\r\n"); + irc_write(idata->fd, buf, strlen(buf)); }