comparison src/protocols/irc/irc.c @ 3618:6b12659dfd70

[gaim-migrate @ 3732] I forgot this. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Wed, 09 Oct 2002 06:25:46 +0000
parents 9e776fde2fed
children a19850d6e718
comparison
equal deleted inserted replaced
3617:fcf1fc6c73a0 3618:6b12659dfd70
1422 } 1422 }
1423 1423
1424 static void irc_close(struct gaim_connection *gc) 1424 static void irc_close(struct gaim_connection *gc)
1425 { 1425 {
1426 struct irc_data *idata = (struct irc_data *)gc->proto_data; 1426 struct irc_data *idata = (struct irc_data *)gc->proto_data;
1427
1427 gchar buf[IRC_BUF_LEN]; 1428 gchar buf[IRC_BUF_LEN];
1428 1429
1429 if (idata->str->len > 0) { 1430 if (idata->str->len > 0) {
1430 g_snprintf(buf, sizeof(buf), "QUIT :%s\r\n", idata->str->str); 1431 g_snprintf(buf, sizeof(buf), "QUIT :%s\r\n", idata->str->str);
1431 } else { 1432 } else {
1434 } 1435 }
1435 irc_write(idata->fd, buf, strlen(buf)); 1436 irc_write(idata->fd, buf, strlen(buf));
1436 1437
1437 if (idata->rxqueue) 1438 if (idata->rxqueue)
1438 g_free(idata->rxqueue); 1439 g_free(idata->rxqueue);
1440
1441 /* Kill any existing transfers */
1442 while (idata->file_transfers) {
1443 struct irc_file_transfer *ift = (struct irc_file_transfer *)idata->file_transfers->data;
1444
1445 g_free(ift->sn);
1446 g_free(ift->name);
1447 gaim_input_remove(ift->watcher);
1448
1449 close(ift->fd);
1450
1451 idata->file_transfers = idata->file_transfers->next;
1452 }
1453
1439 idata->rxqueue = NULL; 1454 idata->rxqueue = NULL;
1440 idata->rxlen = 0; 1455 idata->rxlen = 0;
1441 1456
1442 g_free(idata->chantypes); 1457 g_free(idata->chantypes);
1443 g_free(idata->chanmodes); 1458 g_free(idata->chanmodes);