// irc infos static server_t ircServer; static char ircNick[64]; char *test = getenv("whatever"); // All irc buddies on the channel ircBuddy_t ircBuddies[IRC_MAX_BUDDIES]; // Main irc socket static socket_t ircSocket = -1; qboolean netSendIrcChannel(char *format, ...) { char buffer[256]; va_list arglist; va_start(arglist, format); int size = vsnprintf(buffer, sizeof(buffer), format, arglist); va_end(arglist); if (size > strlen(buffer)) { ethLog("error: net send irc buffer exceed"); return qfalse; } int msgCount = IRC_MAX_MSGS - 2; while (msgCount >= 0) { ircMsgs[msgCount + 1].type = ircMsgs[msgCount].type; strncpy(ircMsgs[msgCount + 1].nick, ircMsgs[msgCount].nick, sizeof(ircMsgs->nick)); strncpy(ircMsgs[msgCount + 1].msg, ircMsgs[msgCount].msg, sizeof(ircMsgs->msg)); msgCount--; } ircMsgs[0].type = IRC_MSGTYPE_CHAN; snprintf(ircMsgs[0].nick, sizeof(ircMsgs->nick), "^n%s",ircNick); strncpy(ircMsgs[0].msg, buffer, sizeof(ircMsgs->msg)); return netSendText(ircSocket, "%s %s :%s", IRC_PRIVMSG, getenv("ETH_IRC_CHAN"), buffer); } qboolean netSendIrcQuery(char *nick, char *format, ...) { char buffer[256]; va_list arglist; va_start(arglist, format); int size = vsnprintf(buffer, sizeof(buffer), format, arglist); va_end(arglist); if (size > strlen(buffer)) { ethLog("error: net send query buffer exceed"); return qfalse; } int msgCount = 0; msgCount = IRC_MAX_MSGS - 2; while (msgCount >= 0) { ircMsgs[msgCount + 1].type = ircMsgs[msgCount].type; strncpy(ircMsgs[msgCount + 1].nick, ircMsgs[msgCount].nick, sizeof(ircMsgs->nick)); strncpy(ircMsgs[msgCount + 1].msg, ircMsgs[msgCount].msg, sizeof(ircMsgs->msg)); msgCount--; } ircMsgs[0].type = IRC_MSGTYPE_QUERY; snprintf(ircMsgs[0].nick, sizeof(ircMsgs->nick), "^3->^n%s", nick); strncpy(ircMsgs[0].msg, buffer, sizeof(ircMsgs->msg)); return netSendText(ircSocket, "%s %s :%s", IRC_PRIVMSG, nick, buffer); } qboolean netSendIrcStatus() { if (!eth.hookLoad) return netSendIrcChannel("Not connected");