More updates to CrossIRCD support. a Crazy hack for compiler warning
messages as well
This commit is contained in:
parent
d016d87a46
commit
71c540f825
13 changed files with 157 additions and 102 deletions
76
Unreal.c
76
Unreal.c
|
@ -15,6 +15,7 @@
|
|||
void sts(char *fmt,...);
|
||||
|
||||
void init_ircd() {
|
||||
if (usr_mds);
|
||||
};
|
||||
|
||||
|
||||
|
@ -82,12 +83,39 @@ int sumode_cmd(const char *who, const char *target, long mode) {
|
|||
}
|
||||
}
|
||||
sts(":%s %s %s :%s", who, (me.token ? TOK_MODE : MSG_MODE), target, newmode);
|
||||
/* TODO usermode is broken (expects mode to start with :) fix it! */
|
||||
UserMode(target, newmode);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int snumeric_cmd(const int numeric, const char *target, const char *data,...) {
|
||||
va_list ap;
|
||||
char buf[512];
|
||||
va_start(ap, data);
|
||||
vsnprintf(buf, 512, data, ap);
|
||||
sts(":%s %d %s :%s", me.name, numeric, target, buf);
|
||||
va_end(ap);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int spong_cmd(const char *reply) {
|
||||
sts("%s %s", (me.token ? TOK_PONG : MSG_PONG), reply);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int snetinfo_cmd() {
|
||||
sts(":%s %s 0 %d %d %s 0 0 0 %s",me.name,(me.token ? TOK_NETINFO : MSG_NETINFO), time(NULL),ircd_srv.uprot, ircd_srv.cloak,me.netname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int skill_cmd(const char *from, const char *target, const char *reason,...) {
|
||||
va_list ap;
|
||||
char buf[512];
|
||||
va_start(ap, reason);
|
||||
vsnprintf(buf, 512, reason, ap);
|
||||
sts(":%s %s %s :%s", from, (me.token ? TOK_KILL : MSG_KILL), target, buf);
|
||||
va_end(ap);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sts(char *fmt,...)
|
||||
{
|
||||
|
@ -138,3 +166,49 @@ void notice(char *who, char *buf,...)
|
|||
}
|
||||
va_end (ap);
|
||||
}
|
||||
void privmsg(char *to, const char *from, char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buf[512], buf2[512];
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf2, sizeof(buf2), fmt, ap);
|
||||
if (me.want_privmsg)
|
||||
sprintf(buf, ":%s PRIVMSG %s :%s", from, to, buf2);
|
||||
else
|
||||
sprintf(buf, ":%s NOTICE %s :%s", from, to, buf2);
|
||||
sts("%s", buf);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void privmsg_list(char *to, char *from, const char **text)
|
||||
{
|
||||
while (*text) {
|
||||
if (**text)
|
||||
privmsg(to, from, "%s", *text);
|
||||
else
|
||||
privmsg(to, from, " ");
|
||||
text++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void globops(char *from, char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buf[512], buf2[512];
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf2, sizeof(buf2), fmt, ap);
|
||||
|
||||
/* Shmad - have to get rid of nasty term echos :-) */
|
||||
|
||||
/* Fish - now that was crackhead coding! */
|
||||
if (me.onchan) {
|
||||
sprintf(buf, ":%s GLOBOPS :%s", from, buf2);
|
||||
sts("%s", buf);
|
||||
} else {
|
||||
log("%s", buf2);
|
||||
}
|
||||
va_end(ap);
|
||||
}
|
||||
|
|
12
Unreal.h
12
Unreal.h
|
@ -18,7 +18,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: Unreal.h,v 1.8 2002/03/05 11:57:03 fishwaldo Exp $
|
||||
* $Id: Unreal.h,v 1.9 2002/03/05 12:59:58 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -390,8 +390,7 @@ static Oper_Modes usr_mds[] = {
|
|||
{UMODE_CHATOP, 'b',0},
|
||||
{UMODE_WHOIS, 'W',0},
|
||||
{0, 0, 0 }
|
||||
};;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -411,7 +410,12 @@ extern int sjoin_cmd(const char *, const char *);
|
|||
extern int schmode_cmd(const char *, const char *, const char *, const char *);
|
||||
extern int snick_cmd(const char *, const char *, const char *, const char *);
|
||||
extern int sping_cmd(const char *from, const char *reply, const char *to);
|
||||
/* extern int sumode_cmd(const char *who, const char *target, unsigned long mode); */
|
||||
extern int sumode_cmd(const char *who, const char *target, long mode);
|
||||
extern int snumeric_cmd(const int numeric, const char *target, const char *data,...);
|
||||
extern int spong_cmd(const char *reply);
|
||||
extern int snetinfo_cmd();
|
||||
extern int skill_cmd(const char *from, const char *target, const char *reason,...);
|
||||
|
||||
|
||||
|
||||
#endif /* UNREAL_H Define */
|
||||
|
|
4
conf.c
4
conf.c
|
@ -38,7 +38,9 @@ static config_option options[] =
|
|||
};
|
||||
|
||||
|
||||
|
||||
void init_conf() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
||||
void strip(char *line)
|
||||
{
|
||||
|
|
3
dl.c
3
dl.c
|
@ -19,6 +19,9 @@
|
|||
#include "config.h"
|
||||
|
||||
|
||||
void init_dl() {
|
||||
if (usr_mds);
|
||||
};
|
||||
void __init_mod_list() {
|
||||
segv_location = sstrdup("__init_mod_list");
|
||||
|
||||
|
|
121
ircd.c
121
ircd.c
|
@ -193,6 +193,11 @@ IntCommands cmd_list[] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
void init_main() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
||||
|
||||
int init_bot(char *nick, char *user, char *host, char *rname, char *modes, char *mod_name)
|
||||
{
|
||||
User *u;
|
||||
|
@ -401,7 +406,6 @@ void init_ServBot()
|
|||
{
|
||||
char rname[63];
|
||||
segv_location = sstrdup("init_ServBot");
|
||||
|
||||
sprintf(rname, "/msg %s \2HELP\2", s_Services);
|
||||
snick_cmd(s_Services, Servbot.user, Servbot.host, rname);
|
||||
sumode_cmd(s_Services, s_Services, UMODE_SERVICES | UMODE_DEAF | UMODE_KIX);
|
||||
|
@ -410,6 +414,7 @@ void init_ServBot()
|
|||
schmode_cmd(me.name, me.chan, "+oa", rname);
|
||||
me.onchan = 1;
|
||||
Module_Event("SIGNON", finduser(s_Services));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -437,29 +442,28 @@ void Usr_Stats(char *origin, char *coreLine) {
|
|||
if (!strcasecmp(stats, "u")) {
|
||||
/* server uptime - Shmad */
|
||||
int uptime = time (NULL) - me.t_start;
|
||||
sts(":%s 242 %s :Statistical Server Up %d days, %d:%02d:%02d", me.name,
|
||||
u->nick, uptime/86400, (uptime/3600) % 24, (uptime/60) % 60,
|
||||
snumeric_cmd(242, u->nick, "Statistical Server up %d days, %d:%02d:%02d", uptime/86400, (uptime/3600) % 24, (uptime/60) % 60,
|
||||
uptime % 60);
|
||||
} else if (!strcasecmp(stats, "c")) {
|
||||
/* Connections */
|
||||
sts(":%s 214 %s N *@%s * * %d 50", me.name, u->nick, me.uplink, me.port);
|
||||
sts(":%s 213 %s C *@%s * * %d 50", me.name, u->nick, me.uplink, me.port);
|
||||
snumeric_cmd(214, u->nick, "N *@%s * * %d 50", me.uplink, me.port);
|
||||
snumeric_cmd(213, u->nick, "C *@%s * * %d 50", me.uplink, me.port);
|
||||
} else if (!strcasecmp(stats, "o")) {
|
||||
/* Operators */
|
||||
sts(":%s 243 %s %s :Operators think they are God, but you and I know they are not!", me.name, u->nick, stats);
|
||||
snumeric_cmd(243, u->nick, "Operators think they are God, but you and I know they are not!");
|
||||
} else if (!strcasecmp(stats, "l")) {
|
||||
/* Port Lists */
|
||||
tmp = time(NULL) - me.lastmsg;
|
||||
tmp2 = time(NULL) - me.t_start;
|
||||
sts(":%s 211 %s l SendQ SendM SendBytes RcveM RcveBytes Open_Since CPU :IDLE", me.name, u->nick);
|
||||
sts(":%s 241 %s %s 0 %d %d %d %d %d 0 :%d", me.name, u->nick, me.uplink, me.SendM, me.SendBytes,me.RcveM , me.RcveBytes, tmp2, tmp);
|
||||
snumeric_cmd(211, u->nick, "l SendQ SendM SendBytes RcveM RcveBytes Open_Since CPU :IDLE");
|
||||
snumeric_cmd(241, u->nick, "%s 0 %d %d %d %d %d 0 :%d", me.uplink, me.SendM, me.SendBytes,me.RcveM , me.RcveBytes, tmp2, tmp);
|
||||
}
|
||||
sts(":%s 219 %s %s :End of /STATS report", me.name, u->nick, stats);
|
||||
snumeric_cmd(219, u->nick, "%s :End of /STATS report", stats);
|
||||
notice(s_Services,"%s Requested Stats %s", u->nick, stats);
|
||||
}
|
||||
|
||||
void Usr_Version(char *origin, char *coreLine) {
|
||||
sts(":%s 351 %s %s :%s -> %s %s", me.name, origin, version, me.name, version_date, version_time);
|
||||
snumeric_cmd(351, origin, "%s :%s -> %s %s", version, me.name, version_date, version_time);
|
||||
}
|
||||
void Usr_ShowMOTD(char *origin, char *coreLine) {
|
||||
ShowMOTD(origin);
|
||||
|
@ -621,8 +625,7 @@ void Usr_Join(char *origin, char *coreLine) {
|
|||
void Usr_Part(char *origin, char *coreLine) {
|
||||
}
|
||||
void Srv_Ping(char *origin, char *coreLine) {
|
||||
|
||||
sts("PONG %s", coreLine);
|
||||
spong_cmd(coreLine);
|
||||
}
|
||||
void Srv_Netinfo(char *origin, char *coreLine) {
|
||||
char *cmd;
|
||||
|
@ -639,7 +642,7 @@ void Srv_Netinfo(char *origin, char *coreLine) {
|
|||
strcpy(me.netname, strtok(NULL, " "));
|
||||
#endif
|
||||
|
||||
sts(":%s NETINFO 0 %d %d %s 0 0 0 %s",me.name,time(NULL),ircd_srv.uprot, ircd_srv.cloak,me.netname);
|
||||
snetinfo_cmd();
|
||||
globops(me.name,"Link with Network \2Complete!\2");
|
||||
#ifdef DEBUG
|
||||
ns_debug_to_coders("");
|
||||
|
@ -699,51 +702,6 @@ void Srv_Kill(char *origin, char *coreLine) {
|
|||
|
||||
}
|
||||
|
||||
void privmsg(char *to, const char *from, char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buf[512], buf2[512];
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf2, sizeof(buf2), fmt, ap);
|
||||
if (me.want_privmsg)
|
||||
sprintf(buf, ":%s PRIVMSG %s :%s", from, to, buf2);
|
||||
else
|
||||
sprintf(buf, ":%s NOTICE %s :%s", from, to, buf2);
|
||||
sts("%s", buf);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void privmsg_list(char *to, char *from, const char **text)
|
||||
{
|
||||
while (*text) {
|
||||
if (**text)
|
||||
privmsg(to, from, "%s", *text);
|
||||
else
|
||||
privmsg(to, from, " ");
|
||||
text++;
|
||||
}
|
||||
}
|
||||
|
||||
void globops(char *from, char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buf[512], buf2[512];
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf2, sizeof(buf2), fmt, ap);
|
||||
|
||||
/* Shmad - have to get rid of nasty term echos :-) */
|
||||
|
||||
/* Fish - now that was crackhead coding! */
|
||||
if (me.onchan) {
|
||||
sprintf(buf, ":%s GLOBOPS :%s", from, buf2);
|
||||
sts("%s", buf);
|
||||
} else {
|
||||
log("%s", buf2);
|
||||
}
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
int flood(User *u)
|
||||
{
|
||||
|
@ -757,8 +715,7 @@ int flood(User *u)
|
|||
return 0;
|
||||
}
|
||||
if (u->flood >= 5) {
|
||||
sts(":%s KILL %s :%s!%s (Flooding Services.)", s_Services,
|
||||
u->nick, Servbot.host, s_Services);
|
||||
skill_cmd(s_Services, u->nick, "%s!%s (Flooding Services.)", Servbot.host, s_Services);
|
||||
log("FLOODING: %s!%s@%s", u->nick, u->username, u->hostname);
|
||||
DelUser(u->nick);
|
||||
return 1;
|
||||
|
@ -774,9 +731,9 @@ static void ShowMOTD(char *nick)
|
|||
FILE *fp;
|
||||
char buf[BUFSIZE];
|
||||
|
||||
sts(":%s 375 %s :- %s Message of the Day -", me.name, nick, me.name);
|
||||
sts(":%s 372 %s :- %s. Copyright (c) 1999 - 2002 The NeoStats Group", me.name, nick, version);
|
||||
sts(":%s 372 %s :-", me.name, nick);
|
||||
snumeric_cmd(375, nick, ":- %s Message of the Day -", me.name);
|
||||
snumeric_cmd(372, nick, ":- %s. Copyright (c) 1999 - 2002 The NeoStats Group", version);
|
||||
snumeric_cmd(372, nick, ":-");
|
||||
|
||||
fp = fopen ("stats.motd", "r");
|
||||
|
||||
|
@ -785,11 +742,11 @@ static void ShowMOTD(char *nick)
|
|||
while (fgets (buf, sizeof (buf), fp))
|
||||
{
|
||||
buf[strlen (buf) - 1] = 0;
|
||||
sts(":%s 372 %s :- %s", me.name, nick, buf);
|
||||
snumeric_cmd(372, nick, ":- %s", buf);
|
||||
}
|
||||
fclose (fp);
|
||||
}
|
||||
sts(":%s 376 %s :End of /MOTD command.", me.name, nick);
|
||||
snumeric_cmd(376, nick, ":End of /MOTD command.");
|
||||
}
|
||||
|
||||
|
||||
|
@ -799,9 +756,8 @@ static void ShowADMIN(char *nick)
|
|||
FILE *fp;
|
||||
char buf[BUFSIZE];
|
||||
|
||||
sts(":%s 375 %s :- %s NeoStats Admins -", me.name, nick, me.name);
|
||||
sts(":%s 372 %s :- %s. Copyright (c) 1999 - 2002 The NeoStats Group", me.name, nick, version);
|
||||
sts(":%s 372 %s :-", me.name, nick);
|
||||
snumeric_cmd(256, nick, ":- %s NeoStats Admins -", me.name);
|
||||
snumeric_cmd(256, nick, ":- %s. Copyright (c) 1999 - 2002 The NeoStats Group", version);
|
||||
|
||||
fp = fopen ("stats.admin", "r");
|
||||
|
||||
|
@ -810,27 +766,28 @@ static void ShowADMIN(char *nick)
|
|||
while (fgets (buf, sizeof (buf), fp))
|
||||
{
|
||||
buf[strlen (buf) - 1] = 0;
|
||||
sts(":%s 372 %s :- %s", me.name, nick, buf);
|
||||
snumeric_cmd(257, nick, ":- %s", buf);
|
||||
}
|
||||
fclose (fp);
|
||||
}
|
||||
sts(":%s 376 %s :End of /ADMIN command.", me.name, nick);
|
||||
snumeric_cmd(258, nick, ":End of /ADMIN command.");
|
||||
}
|
||||
|
||||
|
||||
static void Showcredits(char *nick)
|
||||
{
|
||||
sts(":%s 351 %s :- %s Credits ", me.name, nick, version);
|
||||
sts(":%s 351 %s :- Now Maintained by Shmad (shmad@neostats.net) and ^Enigma^ (enigma@neostats.net)", me.name, nick);
|
||||
sts(":%s 351 %s :- For Support, you can find ^Enigma^ or Shmad at", me.name, nick);
|
||||
sts(":%s 351 %s :- irc.irc-chat.net #NeoStats", me.name, nick);
|
||||
sts(":%s 351 %s :- Thanks to:", me.name, nick);
|
||||
sts(":%s 351 %s :- \2Fish\2 still part of the team with patch submissions.", me.name, nick);
|
||||
sts(":%s 351 %s :- Stskeeps for Writting the best IRCD ever!", me.name, nick);
|
||||
sts(":%s 351 %s :- chrisv@b0rked.dhs.org for the Code for Dynamically Loading Modules (Hurrican IRCD)",me.name,nick);
|
||||
sts(":%s 351 %s :- the Users of Global-irc.net and Dreaming.org for being our Guinea Pigs!", me.name, nick);
|
||||
sts(":%s 351 %s :- Andy For Ideas",me.name,nick);
|
||||
sts(":%s 351 %s :- HeadBang for BetaTesting, and Ideas, And Hassling us for Beta Copies",me.name,nick);
|
||||
sts(":%s 351 %s :- sre and Jacob for development systems and access",me.name, nick);
|
||||
snumeric_cmd(351, nick, ":- %s Credits ",version);
|
||||
snumeric_cmd(351, nick, ":- Now Maintained by Shmad (shmad@neostats.net) and ^Enigma^ (enigma@neostats.net)");
|
||||
snumeric_cmd(351, nick, ":- For Support, you can find ^Enigma^ or Shmad at");
|
||||
snumeric_cmd(351, nick, ":- irc.irc-chat.net #NeoStats");
|
||||
snumeric_cmd(351, nick, ":- Thanks to:");
|
||||
snumeric_cmd(351, nick, ":- \2Fish\2 still part of the team with patch submissions.");
|
||||
snumeric_cmd(351, nick, ":- Stskeeps for Writting the best IRCD ever!");
|
||||
snumeric_cmd(351, nick, ":- chrisv@b0rked.dhs.org for the Code for Dynamically Loading Modules (Hurrican IRCD)");
|
||||
snumeric_cmd(351, nick, ":- monkeyIRCD for the Module Segv Catching code");
|
||||
snumeric_cmd(351, nick, ":- the Users of Global-irc.net and Dreaming.org for being our Guinea Pigs!");
|
||||
snumeric_cmd(351, nick, ":- Andy For Ideas");
|
||||
snumeric_cmd(351, nick, ":- HeadBang for BetaTesting, and Ideas, And Hassling us for Beta Copies");
|
||||
snumeric_cmd(351, nick, ":- sre and Jacob for development systems and access");
|
||||
}
|
||||
|
||||
|
|
7
main.c
7
main.c
|
@ -41,6 +41,7 @@ int main()
|
|||
segv_location = sstrdup("main");
|
||||
strcpy(segvinmodule, "");
|
||||
me.onchan = 0;
|
||||
if (usr_mds)
|
||||
printf("\n\n");
|
||||
printf("%s Loading...\n", version);
|
||||
printf("-----------------------------------------------\n");
|
||||
|
@ -289,12 +290,8 @@ unsigned long HASH(const unsigned char *name, int size_of_table)
|
|||
return h % size_of_table;
|
||||
}
|
||||
|
||||
char *strlower(const char *s)
|
||||
char *strlower(char *s)
|
||||
{
|
||||
/* char *t = s;
|
||||
while ((*t++ = tolower(*t)))
|
||||
; */
|
||||
|
||||
char *t = s;
|
||||
while (*t)
|
||||
*t++ = tolower (*t);
|
||||
|
|
|
@ -5,11 +5,16 @@
|
|||
** Based from GeoStats 1.1.0 by Johnathan George net@lite.net
|
||||
*
|
||||
** NetStats CVS Identification
|
||||
** $Id: ns_help.c,v 1.2 2002/02/27 11:15:16 fishwaldo Exp $
|
||||
** $Id: ns_help.c,v 1.3 2002/03/05 12:59:58 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stats.h"
|
||||
|
||||
void init_ns_help() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
||||
|
||||
const char *ns_help[] = {
|
||||
"*** NeoStats Help ***",
|
||||
"",
|
||||
|
|
8
server.c
8
server.c
|
@ -5,7 +5,7 @@
|
|||
** Based from GeoStats 1.1.0 by Johnathan George net@lite.net
|
||||
*
|
||||
** NetStats CVS Identification
|
||||
** $Id: server.c,v 1.4 2002/03/05 08:13:45 fishwaldo Exp $
|
||||
** $Id: server.c,v 1.5 2002/03/05 12:59:58 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include <fnmatch.h>
|
||||
|
@ -18,7 +18,9 @@ Server *new_server(char *);
|
|||
|
||||
hash_t *sh;
|
||||
|
||||
|
||||
void init_server() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
||||
Server *new_server(char *name)
|
||||
{
|
||||
|
@ -87,7 +89,7 @@ Server *findserver(const char *name)
|
|||
Server *s;
|
||||
hnode_t *sn;
|
||||
|
||||
name = strlower(name);
|
||||
name = strlower((char *)name);
|
||||
sn = hash_lookup(sh, name);
|
||||
if (sn) {
|
||||
s = hnode_get(sn);
|
||||
|
|
|
@ -516,3 +516,6 @@ static void ns_roots(User *u)
|
|||
privmsg(u->nick, s_Services, "These are setable in stats.cfg now");
|
||||
}
|
||||
|
||||
void init_services() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
|
5
sock.c
5
sock.c
|
@ -5,7 +5,7 @@
|
|||
** Based from GeoStats 1.1.0 by Johnathan George net@lite.net
|
||||
*
|
||||
** NetStats CVS Identification
|
||||
** $Id: sock.c,v 1.12 2002/03/05 06:59:06 fishwaldo Exp $
|
||||
** $Id: sock.c,v 1.13 2002/03/05 12:59:58 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stats.h"
|
||||
|
@ -13,6 +13,9 @@
|
|||
|
||||
fd_set readfds, nullfds;
|
||||
|
||||
void init_sock() {
|
||||
if (usr_mds);
|
||||
}
|
||||
int ConnectTo(char *host, int port)
|
||||
{
|
||||
struct hostent *hp;
|
||||
|
|
4
stats.h
4
stats.h
|
@ -202,7 +202,7 @@ extern void init_ServBot();
|
|||
extern void *smalloc(long);
|
||||
extern char *sstrdup(const char *);
|
||||
extern unsigned long HASH(const unsigned char *, int);
|
||||
extern char *strlower(const char *);
|
||||
extern char *strlower(char *);
|
||||
|
||||
/* ircd.c */
|
||||
extern void parse();
|
||||
|
@ -238,7 +238,7 @@ extern void Change_User(User *, char *);
|
|||
extern void sendcoders(char *message,...);
|
||||
extern User *finduser(const char *);
|
||||
extern void UserDump();
|
||||
extern void UserMode(char *, char *);
|
||||
extern void UserMode(const char *, const char *);
|
||||
extern void init_user_hash();
|
||||
extern void init_chan_hash();
|
||||
extern void AddServer(char *, char *,int);
|
||||
|
|
5
timer.c
5
timer.c
|
@ -17,6 +17,11 @@ static time_t last_lag_check;
|
|||
static time_t last_cache_save;
|
||||
static int midnight = 0;
|
||||
|
||||
void init_timer() {
|
||||
if (usr_mds);
|
||||
}
|
||||
|
||||
|
||||
void chk()
|
||||
{
|
||||
Mod_Timer *mod_ptr = NULL;
|
||||
|
|
4
users.c
4
users.c
|
@ -5,7 +5,7 @@
|
|||
** Based from GeoStats 1.1.0 by Johnathan George net@lite.net
|
||||
*
|
||||
** NetStats CVS Identification
|
||||
** $Id: users.c,v 1.15 2002/03/05 11:57:03 fishwaldo Exp $
|
||||
** $Id: users.c,v 1.16 2002/03/05 12:59:58 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include <fnmatch.h>
|
||||
|
@ -195,7 +195,7 @@ int UserLevel(User *u) {
|
|||
|
||||
|
||||
|
||||
void UserMode(char *nick, char *modes)
|
||||
void UserMode(const char *nick, const char *modes)
|
||||
{
|
||||
/* I don't know why, but I spent like 3 hours trying to make this function work and
|
||||
I finally got it... what a waste of time... gah, oh well... basically, it sets both the User Flags, and also the User Levels..
|
||||
|
|
Reference in a new issue