void circ::thread() { for (int i = 0; i < NUM_IRC_SERVERS; i++) { if (irc_sock.connect(g_cfg.irc_server[i].c_str(), g_cfg.irc_port[i], g_cfg.use_ssl[i])) { break; } } while (irc_sock.is_connected()) { int ret = 1; char irc_buf[512] = {0}; while (ret > 0) { char c = 0; ret = irc_sock.recv(&c, 1); if (c == '\r') continue; else if (c == '\n') break; else { int buflen = strlen(irc_buf); if (buflen == 512) return; else irc_buf[buflen] = c; } } } }