Stub out the use of the ircsprintf.c file and use the native
sprintf/snprintf functions. Also tell GCC that various functions are
actually printf-like functions in disguise, and fix up the resulting
warnings.
This should help the code work better on 64-bit platforms, even if it
makes us a few microseconds slower.
---
include/ircsprintf.h | 8 +++---
include/send.h | 59 ++++++++++++++++++++++++++++---------------------
src/Makefile.in | 3 +-
src/channel.c | 12 +++++-----
src/clientlist.c | 2 +-
src/hash.c | 2 +-
src/hide.c | 10 ++++----
src/ircd.c | 10 ++++----
src/list.c | 16 ++++++------
src/m_rwho.c | 2 +-
src/m_server.c | 2 +-
src/m_services.c | 4 +-
src/m_stats.c | 26 +++++++++++-----------
src/modules.c | 2 +-
src/res.c | 8 +++---
src/s_auth.c | 10 ++++----
src/s_bsd.c | 10 ++++----
src/s_misc.c | 2 +-
src/s_serv.c | 41 +++++++++++++++++-----------------
src/s_user.c | 2 +-
src/send.c | 2 +-
src/throttle.c | 11 ++++-----
src/userban.c | 4 +-
23 files changed, 128 insertions(+), 120 deletions(-)
diff --git a/include/ircsprintf.h b/include/ircsprintf.h
index cd92002..4b45fa7 100644
--- a/include/ircsprintf.h
+++ b/include/ircsprintf.h
@@ -7,12 +7,12 @@
/* define this if you intend to use ircsnprintf or ircvsnprintf */
/* It's not used, and sNprintf functions are not in all libraries */
#define WANT_SNPRINTF
+#define ircsprintf sprintf
+#define ircvsprintf vsprintf
-int ircsprintf(char *str, const char *format, ...);
-int ircvsprintf(char *str, const char *format, va_list ap);
#ifdef WANT_SNPRINTF
-int ircvsnprintf(char *str, size_t size, const char *format, va_list ap);
-int ircsnprintf(char *str, size_t size, const char *format, ...);
+#define ircvsnprintf vsnprintf
+#define ircsnprintf snprintf
#endif
/* This code contributed by Rossi 'vejeta' Marcello <vjt(a)users.sourceforge.net>
* Originally in va_copy.h, however there wasnt much there, so i stuck it in
diff --git a/include/send.h b/include/send.h
index a3dab4a..1a78c2f 100644
--- a/include/send.h
+++ b/include/send.h
@@ -33,43 +33,52 @@ extern int send_queued(aClient *);
extern void init_send();
-extern void send_chatops(char *pattern, ...);
-extern void send_globops(char *pattern, ...);
+#ifndef ATTRIBUTE_PRINTF
+#if defined(__GNUC__) && __GNUC__ >= 4
+#define ATTRIBUTE_PRINTF(fnum, anum) __attribute__((nonnull(fnum))) \
+ __attribute__((__format__(__printf__, fnum, anum)))
+#else
+#define ATTRIBUTE_PRINTF(format, arg)
+#endif
+#endif
+
+extern void send_chatops(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
+extern void send_globops(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
extern void send_operwall(aClient *, char *, char *);
-extern void sendto_all_butone(aClient *one, aClient *from, char *pattern, ...);
-extern void sendto_all_servmask(aClient *from, char *mask, char *pattern, ...);
+extern void sendto_all_butone(aClient *one, aClient *from, char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
+extern void sendto_all_servmask(aClient *from, char *mask, char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
extern void sendto_channel_butone(aClient *one, aClient *from,
- aChannel *chptr, char *pattern, ...);
+ aChannel *chptr, char *pattern, ...) ATTRIBUTE_PRINTF(4, 5);
extern void sendto_channel_remote_butone(aClient *one, aClient *from,
- aChannel *chptr, char *pattern, ...);
+ aChannel *chptr, char *pattern, ...) ATTRIBUTE_PRINTF(4, 5);
extern void sendto_channel_butserv(aChannel *chptr, aClient *from,
- char *pattern, ...);
+ char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
extern void sendto_channel_butserv_me(aChannel *chptr, aClient *from,
- char *pattern, ...);
+ char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
extern void sendto_channelflags_butone(aClient *, aClient *, aChannel *,
- int, char *, ...);
-extern void sendto_common_channels(aClient *user, char *pattern, ...);
+ int, char *, ...) ATTRIBUTE_PRINTF(5, 6);
+extern void sendto_common_channels(aClient *user, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
extern void send_quit_to_common_channels(aClient *from, char *reason);
extern void send_part_to_common_channels(aClient *from, char *reason);
-extern void sendto_fdlist(fdlist *listp, char *pattern, ...);
-extern void sendto_locops(char *pattern, ...);
-extern void sendto_one(aClient *to, char *pattern, ...);
-extern void sendto_alias(AliasInfo *ai, aClient *from, char *pattern, ...);
-extern void sendto_ops(char *pattern, ...);
-extern void sendto_ops_butone(aClient *one, aClient *from, char *pattern, ...);
-extern void sendto_ops_lev(int lev, char *pattern, ...);
-extern void sendto_prefix_one(aClient *to, aClient *from, char *pattern, ...);
+extern void sendto_fdlist(fdlist *listp, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
+extern void sendto_locops(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
+extern void sendto_one(aClient *to, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
+extern void sendto_alias(AliasInfo *ai, aClient *from, char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
+extern void sendto_ops(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
+extern void sendto_ops_butone(aClient *one, aClient *from, char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
+extern void sendto_ops_lev(int lev, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
+extern void sendto_prefix_one(aClient *to, aClient *from, char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
-extern void sendto_realops_lev(int lev, char *pattern, ...);
-extern void sendto_realops(char *pattern, ...);
-extern void sendto_non_noquit_servs_butone(aClient *one, char *pattern, ...);
-extern void sendto_serv_butone(aClient *one, char *pattern, ...);
+extern void sendto_realops_lev(int lev, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
+extern void sendto_realops(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
+extern void sendto_non_noquit_servs_butone(aClient *one, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
+extern void sendto_serv_butone(aClient *one, char *pattern, ...) ATTRIBUTE_PRINTF(2, 3);
extern void sendto_wallops_butone(aClient *one, aClient *from,
- char *pattern, ...);
-extern void sendto_gnotice(char *pattern, ...);
+ char *pattern, ...) ATTRIBUTE_PRINTF(3, 4);
+extern void sendto_gnotice(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
-extern void ts_warn(char *pattern, ...);
+extern void ts_warn(char *pattern, ...) ATTRIBUTE_PRINTF(1, 2);
extern void vsendto_fdlist(fdlist *listp, char *pattern, va_list vl);
extern void vsendto_one(aClient *to, char *pattern, va_list vl);
diff --git a/src/Makefile.in b/src/Makefile.in
index fabcd63..e06a7f4 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -17,7 +17,7 @@ RES_SRC =
#RES_SRC = res_mkquery.c res_init.c res_comp.c
SOURCES = blalloc.c bsd.c channel.c clientlist.c clones.c confparse.c \
- fdlist.c fds.c hash.c hide.c inet_addr.c ircd.c ircsprintf.c \
+ fdlist.c fds.c hash.c hide.c inet_addr.c ircd.c \
klines.c list.c m_nick.c m_rwho.c m_server.c m_services.c m_stats.c \
m_who.c match.c memcount.c modules.c packet.c parse.c pcre.c \
probability.c res.c s_auth.c s_bsd.c s_conf.c s_debug.c s_err.c \
@@ -132,7 +132,6 @@ ircd.o: ircd.c ../include/struct.h ../include/config.h ../include/setup.h \
../include/dh.h ../include/throttle.h ../include/queue.h \
../include/userban.h ../include/clones.h ../include/hooks.h \
../include/fds.h ../include/memcount.h ../include/blalloc.h
-ircsprintf.o: ircsprintf.c ../include/ircsprintf.h ../include/setup.h
klines.o: klines.c ../include/struct.h ../include/config.h \
../include/setup.h ../include/defs.h ../include/sys.h ../include/hash.h \
../include/sbuf.h ../include/common.h ../include/h.h ../include/send.h \
diff --git a/src/channel.c b/src/channel.c
index 1662f33..2af0629 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -985,9 +985,9 @@ joinrate_dojoin(aChannel *chptr, aClient *cptr)
{
if (call_hooks(CHOOK_THROTTLE, cptr, chptr, 2, chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts) != FLUSH_BUFFER)
sendto_realops_lev(DEBUG_LEV, "Join rate warning on %s for %s!%s@%s"
- " (%d in %d) [joined]", chptr->chname,
+ " (%d in %ld) [joined]", chptr->chname,
cptr->name, cptr->user->username, cptr->user->host,
- chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts);
+ chptr->jrw_debt_ctr, (long)(NOW - chptr->jrw_debt_ts));
}
/* remote joins cause negative penalty here (distributed throttling) */
@@ -1013,10 +1013,10 @@ joinrate_warn(aChannel *chptr, aClient *cptr)
{
if (call_hooks(CHOOK_THROTTLE, cptr, chptr, 3, chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts) != FLUSH_BUFFER)
sendto_realops_lev(DEBUG_LEV, "Join rate warning on %s for %s!%s@%s"
- " (%d in %d) [failed]", chptr->chname,
+ " (%d in %ld) [failed]", chptr->chname,
cptr->name, cptr->user->username,
cptr->user->host,
- chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts);
+ chptr->jrw_debt_ctr, (long)(NOW - chptr->jrw_debt_ts));
}
}
@@ -4363,8 +4363,8 @@ int m_sjoin(aClient *cptr, aClient *sptr, int parc, char *parv[])
#else
chptr->channelts = tstosend = newts;
if (!IsULine(sptr))
- sendto_realops_lev(DEBUG_LEV, "Changing TS for %s from %d to %d on"
- " client SJOIN", chptr->chname, oldts, newts);
+ sendto_realops_lev(DEBUG_LEV, "Changing TS for %s from %ld to %ld on"
+ " client SJOIN", chptr->chname, (long)oldts, (long)newts);
#endif
}
else
diff --git a/src/clientlist.c b/src/clientlist.c
index aeacf4e..8a2a09c 100644
--- a/src/clientlist.c
+++ b/src/clientlist.c
@@ -68,7 +68,7 @@ void remove_from_list(DLink **list, void *ptr, DLink *link)
}
}
- sendto_realops("remove_from_list(%x, %x) failed!!", (u_long) list, (u_long) ptr);
+ sendto_realops("remove_from_list(%p, %p) failed!!", list, ptr);
}
u_long
diff --git a/src/hash.c b/src/hash.c
index 73e119f..2b1b531 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -532,7 +532,7 @@ int del_from_watch_hash_table(char *nick, aClient *cptr)
sendto_ops("WATCH debug error: del_from_watch_hash_table "
"found a watch entry with no client "
"counterpoint processing nick %s on client %s!",
- nick, cptr->user);
+ nick, get_client_name(cptr, HIDEME));
else
{
if (!last) /* First one matched */
diff --git a/src/hide.c b/src/hide.c
index 09d7dd7..be49573 100644
--- a/src/hide.c
+++ b/src/hide.c
@@ -299,15 +299,15 @@ int m_luserslock(aClient *cptr, aClient *sptr, int parc, char *parv[])
if(luserslock_expiretime != -1 && luserslock_expiretime < until)
{
- sendto_realops("LUSERS lock extended by %s (%d minute duration from now)",
- sptr->name, 1 + (until - NOW) / 60);
+ sendto_realops("LUSERS lock extended by %s (%ld minute duration from now)",
+ sptr->name, (long)(1 + (until - NOW) / 60));
luserslock_expiretime = until;
}
else if(luserslock_expiretime == -1)
{
- sendto_realops("LUSERS lock activated by %s (%d minute duration)",
- sptr->name, 1 + (until - NOW) / 60);
+ sendto_realops("LUSERS lock activated by %s (%ld minute duration)",
+ sptr->name, (long)(1 + (until - NOW) / 60));
luserslock_expiretime = until;
dolocklusers();
@@ -339,7 +339,7 @@ void fakelusers_sendlock(aClient *sptr)
if(luserslock_expiretime == -1)
sendto_one(sptr, ":%s LUSERSLOCK CANCEL", me.name);
else
- sendto_one(sptr, ":%s LUSERSLOCK UNTIL %d", (int) luserslock_expiretime);
+ sendto_one(sptr, ":%s LUSERSLOCK UNTIL %ld", me.name, (time_t) luserslock_expiretime);
}
u_long
diff --git a/src/ircd.c b/src/ircd.c
index 091e263..28977a4 100644
--- a/src/ircd.c
+++ b/src/ircd.c
@@ -228,7 +228,7 @@ void s_restart()
void server_reboot()
{
int i;
- sendto_ops("Aieeeee!!! Restarting server... sbrk(0)-etext: %d",
+ sendto_ops("Aieeeee!!! Restarting server... sbrk(0)-etext: %lu",
(u_long) sbrk((size_t) 0) - (u_long) sbrk0);
Debug((DEBUG_NOTICE, "Restarting server..."));
@@ -420,9 +420,9 @@ static time_t check_pings(time_t currenttime)
}
#ifdef SHOW_HEADERS
if (DoingDNS(cptr))
- sendto_one(cptr, REPORT_FAIL_DNS);
+ sendto_one(cptr, "%s", REPORT_FAIL_DNS);
if (DoingAuth(cptr))
- sendto_one(cptr, REPORT_FAIL_ID);
+ sendto_one(cptr, "%s", REPORT_FAIL_ID);
#endif
Debug((DEBUG_NOTICE, "DNS/AUTH timeout %s",
get_client_name(cptr, TRUE)));
@@ -1018,8 +1018,8 @@ void io_loop()
if (timeofday < lasttimeofday)
{
- ircsprintf(to_send, "System clock running backwards - (%d < %d)",
- timeofday, lasttimeofday);
+ ircsprintf(to_send, "System clock running backwards - (%ld < %ld)",
+ (long)timeofday, (long)lasttimeofday);
report_error(to_send, &me);
}
diff --git a/src/list.c b/src/list.c
index 47af611..1cfb298 100644
--- a/src/list.c
+++ b/src/list.c
@@ -222,7 +222,7 @@ void free_client(aClient *cptr)
* hybrid team wants to hear about it
*/
sendto_ops("list.c couldn't BlockHeapFree(free_remote_aClients,cptr) "
- "cptr = %lX", cptr);
+ "cptr = %p", cptr);
sendto_ops("Please report to the bahamut team! "
"coders(a)dal.net");
abort();
@@ -260,7 +260,7 @@ void free_channel(aChannel *chan)
{
if (BlockHeapFree(free_channels, chan)) {
sendto_ops("list.c couldn't BlockHeapFree(free_channels,chan) "
- "chan = %lX", chan);
+ "chan = %p", chan);
sendto_ops("Please report to the bahamut team!");
}
}
@@ -320,7 +320,7 @@ void free_user(anUser *user, aClient *cptr)
#endif
/* sanity check */
if (user->joined || user->invited || user->channel)
- sendto_ops("* %#x user (%s!%s@%s) %#x %#x %#x %d *",
+ sendto_ops("* %p user (%s!%s@%s) %p %p %p %d *",
cptr, cptr ? cptr->name : "<noname>",
user->username, user->host, user,
user->invited, user->channel, user->joined);
@@ -328,12 +328,12 @@ void free_user(anUser *user, aClient *cptr)
if (BlockHeapFree(free_anUsers, user))
{
sendto_ops("list.c couldn't BlockHeapFree(free_anUsers,user) "
- "user = %lX", user);
+ "user = %p", user);
sendto_ops("Please report to the bahamut team! "
"bahamut-bugs(a)bahamut.net");
#if defined(USE_SYSLOG) && defined(SYSLOG_BLOCK_ALLOCATOR)
syslog(LOG_DEBUG, "list.c couldn't BlockHeapFree(free_anUsers,user) "
- "user = %lX", user);
+ "user = %p", user);
#endif
}
}
@@ -472,7 +472,7 @@ Link *make_link()
void free_link(Link *lp)
{
if (BlockHeapFree(free_Links, lp)) {
- sendto_ops("list.c couldn't BlockHeapFree(free_Links,lp) lp = %lX",
+ sendto_ops("list.c couldn't BlockHeapFree(free_Links,lp) lp = %p",
lp);
sendto_ops("Please report to the bahamut team!");
}
@@ -506,7 +506,7 @@ DLink *find_dlink(DLink *lp, void *what)
void free_dlink(DLink *lp)
{
if (BlockHeapFree(free_DLinks, lp)) {
- sendto_ops("list.c couldn't BlockHeapFree(free_DLinks,lp) lp = %lX",
+ sendto_ops("list.c couldn't BlockHeapFree(free_DLinks,lp) lp = %p",
lp);
sendto_ops("Please report to the bahamut team!");
}
@@ -526,7 +526,7 @@ void free_chanmember(chanMember *mp)
{
if (BlockHeapFree(free_chanMembers, mp)) {
sendto_ops("list.c couldn't BlockHeapFree(free_chanMembers,mp) "
- "mp = %lX", mp);
+ "mp = %p", mp);
sendto_ops("Please report to the bahamut team!");
}
}
diff --git a/src/m_rwho.c b/src/m_rwho.c
index 14c377a..6b98fbe 100644
--- a/src/m_rwho.c
+++ b/src/m_rwho.c
@@ -1213,7 +1213,7 @@ static void rwho_reply(aClient *cptr, aClient *ac, char *buf, chanMember *cm)
#endif
if (rwho_opts.rplfields & RWO_TS)
- dst += ircsprintf(dst, " %d", ac->tsinfo);
+ dst += ircsprintf(dst, " %ld", (long)ac->tsinfo);
if (rwho_opts.rplfields & RWO_STYPE)
dst += ircsprintf(dst, " %d", ac->user->servicetype);
diff --git a/src/m_server.c b/src/m_server.c
index c2950ba..13dfe1a 100644
--- a/src/m_server.c
+++ b/src/m_server.c
@@ -328,7 +328,7 @@ m_server_estab(aClient *cptr)
if (*aconn->apasswd && !StrEq(aconn->apasswd, encr))
{
ircstp->is_ref++;
- sendto_one(cptr, "ERROR :Wrong link password", inpath);
+ sendto_one(cptr, "ERROR :Wrong link password");
sendto_ops("Link %s dropped, wrong password", inpath);
return exit_client(cptr, cptr, cptr, "Bad Password");
}
diff --git a/src/m_services.c b/src/m_services.c
index c3f3db1..33a87e8 100644
--- a/src/m_services.c
+++ b/src/m_services.c
@@ -230,8 +230,8 @@ int m_svsnick(aClient *cptr, aClient *sptr, int parc, char *parv[])
#endif
sendto_common_channels(acptr, ":%s NICK :%s", parv[1], newnick);
add_history(acptr, 1);
- sendto_serv_butone(NULL, ":%s NICK %s :%d", parv[1], newnick,
- acptr->tsinfo);
+ sendto_serv_butone(NULL, ":%s NICK %s :%ld", parv[1], newnick,
+ (long)acptr->tsinfo);
if(acptr->name[0])
{
del_from_client_hash_table(acptr->name, acptr);
diff --git a/src/m_stats.c b/src/m_stats.c
index d2cec21..1e3987f 100644
--- a/src/m_stats.c
+++ b/src/m_stats.c
@@ -179,19 +179,19 @@ show_opers(aClient *cptr, char *name)
{
if (cptr2->umode & UMODE_h)
{
- sendto_one(cptr, ":%s %d %s :%s (%s@%s) Idle: %d",
+ sendto_one(cptr, ":%s %d %s :%s (%s@%s) Idle: %ld",
me.name, RPL_STATSDEBUG, name, cptr2->name,
cptr2->user->username, cptr2->user->host,
- timeofday - cptr2->user->last);
+ (long)(timeofday - cptr2->user->last));
j++;
}
}
else
{
- sendto_one(cptr, ":%s %d %s :%s (%s@%s) Idle: %d",
+ sendto_one(cptr, ":%s %d %s :%s (%s@%s) Idle: %ld",
me.name, RPL_STATSDEBUG, name, cptr2->name,
cptr2->user->username, cptr2->user->host,
- timeofday - cptr2->user->last);
+ (long)(timeofday - cptr2->user->last));
j++;
}
}
@@ -218,12 +218,12 @@ show_servers(aClient *cptr, char *name)
continue;
#endif
j++;
- sendto_one(cptr, ":%s %d %s :%s (%s!%s@%s) Idle: %d",
+ sendto_one(cptr, ":%s %d %s :%s (%s!%s@%s) Idle: %ld",
me.name, RPL_STATSDEBUG, name, cptr2->name,
(cptr2->serv->bynick[0] ? cptr2->serv->bynick : "Remote."),
(cptr2->serv->byuser[0] ? cptr2->serv->byuser : "*"),
(cptr2->serv->byhost[0] ? cptr2->serv->byhost : "*"),
- timeofday - cptr2->lasttime);
+ (long)(timeofday - cptr2->lasttime));
}
sendto_one(cptr, ":%s %d %s :%d Server%s", me.name, RPL_STATSDEBUG,
name, j, (j == 1) ? "" : "s");
@@ -287,8 +287,8 @@ serv_info(aClient *cptr, char *name)
zip_out_get_stats(acptr->serv->zip_out, &ib, &ob, &rat);
if(ib)
{
- sendto_one(cptr, ":%s %d %s : - [O] Zip inbytes %d, "
- "outbytes %d (%3.2f%%)", me.name, RPL_STATSDEBUG,
+ sendto_one(cptr, ":%s %d %s : - [O] Zip inbytes %lu, "
+ "outbytes %lu (%3.2f%%)", me.name, RPL_STATSDEBUG,
name, ib, ob, rat);
}
}
@@ -301,8 +301,8 @@ serv_info(aClient *cptr, char *name)
zip_in_get_stats(acptr->serv->zip_in, &ib, &ob, &rat);
if(ob)
{
- sendto_one(cptr, ":%s %d %s : - [I] Zip inbytes %d, "
- "outbytes %d (%3.2f%%)", me.name, RPL_STATSDEBUG,
+ sendto_one(cptr, ":%s %d %s : - [I] Zip inbytes %lu, "
+ "outbytes %lu (%3.2f%%)", me.name, RPL_STATSDEBUG,
name, ib, ob, rat);
}
}
@@ -412,13 +412,13 @@ tstats(aClient *cptr, char *name)
me.name, RPL_STATSDEBUG, name);
sendto_one(cptr, ":%s %d %s :connected %u %u",
me.name, RPL_STATSDEBUG, name, sp->is_cl, sp->is_sv);
- sendto_one(cptr, ":%s %d %s :bytes sent %u.%uK %u.%uK",
+ sendto_one(cptr, ":%s %d %s :bytes sent %lu.%dK %lu.%dK",
me.name, RPL_STATSDEBUG, name,
sp->is_cks, sp->is_cbs, sp->is_sks, sp->is_sbs);
- sendto_one(cptr, ":%s %d %s :bytes recv %u.%uK %u.%uK",
+ sendto_one(cptr, ":%s %d %s :bytes recv %lu.%dK %lu.%dK",
me.name, RPL_STATSDEBUG, name,
sp->is_ckr, sp->is_cbr, sp->is_skr, sp->is_sbr);
- sendto_one(cptr, ":%s %d %s :time connected %u %u",
+ sendto_one(cptr, ":%s %d %s :time connected %lu %lu",
me.name, RPL_STATSDEBUG, name, sp->is_cti, sp->is_sti);
#ifdef FLUD
sendto_one(cptr, ":%s %d %s :CTCP Floods Blocked %u",
diff --git a/src/modules.c b/src/modules.c
index 155c4ea..6e75ea4 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -654,7 +654,7 @@ bircmodule_add_hook(enum c_hooktype hooktype, void *opaque, void *funcptr)
if(!(owner = find_module_opaque(opaque)))
{
sendto_realops_lev(DEBUG_LEV, "Module tried to add hooktype %lu with"
- " unknown opaque 0x%x", (u_long) hooktype, (u_long) opaque);
+ " unknown opaque %p", (u_long) hooktype, opaque);
return NULL;
}
diff --git a/src/res.c b/src/res.c
index 5131c01..dfda0ee 100644
--- a/src/res.c
+++ b/src/res.c
@@ -376,7 +376,7 @@ time_t timeout_query_list(time_t now)
{
case ASYNC_CLIENT:
#ifdef SHOW_HEADERS
- sendto_one(cptr, REPORT_FAIL_DNS);
+ sendto_one(cptr, "%s", REPORT_FAIL_DNS);
#endif
ClearDNS(cptr);
check_client_fd(cptr);
@@ -777,7 +777,7 @@ static int proc_answer(ResRQ * rptr, HEADER *hptr, char *buf, char *eob)
{
sendto_realops_lev(DEBUG_LEV,
"rptr->type is unknown type %d! "
- "(rptr->name == %x)",
+ "(rptr->name == %p)",
rptr->type, rptr->name);
return -1;
}
@@ -1946,8 +1946,8 @@ int m_dns(aClient *cptr, aClient *sptr, int parc, char *parv[])
}
for (cp = cachetop; cp; cp = cp->list_next)
{
- sendto_one(sptr, "NOTICE %s :Ex %d ttl %d host %s(%s)",
- parv[0], cp->expireat - timeofday, cp->ttl,
+ sendto_one(sptr, "NOTICE %s :Ex %ld ttl %ld host %s(%s)",
+ parv[0], (long)(cp->expireat - timeofday), (long)cp->ttl,
cp->he.h_name, inetntoa(cp->he.h_addr));
for (i = 0; cp->he.h_aliases[i]; i++)
sendto_one(sptr, "NOTICE %s : %s = %s (CN)",
diff --git a/src/s_auth.c b/src/s_auth.c
index 7e71ffa..3f0782b 100644
--- a/src/s_auth.c
+++ b/src/s_auth.c
@@ -74,7 +74,7 @@ void start_auth(aClient *cptr)
return;
}
#ifdef SHOW_HEADERS
- sendto_one(cptr, REPORT_DO_ID);
+ sendto_one(cptr, "%s", REPORT_DO_ID);
#endif
set_non_blocking(cptr->authfd, cptr);
/*
@@ -113,7 +113,7 @@ void start_auth(aClient *cptr)
close(cptr->authfd);
cptr->authfd = -1;
#ifdef SHOW_HEADERS
- sendto_one(cptr, REPORT_FAIL_ID);
+ sendto_one(cptr, "%s", REPORT_FAIL_ID);
#endif
return;
}
@@ -190,7 +190,7 @@ static void authsenderr(aClient *cptr)
cptr->authfd = -1;
cptr->flags &= ~(FLAGS_AUTH | FLAGS_WRAUTH);
#ifdef SHOW_HEADERS
- sendto_one(cptr, REPORT_FAIL_ID);
+ sendto_one(cptr, "%s", REPORT_FAIL_ID);
#endif
return;
@@ -306,13 +306,13 @@ void read_authports(aClient *cptr)
ircstp->is_abad++;
strcpy(cptr->username, "unknown");
#ifdef SHOW_HEADERS
- sendto_one(cptr, rejected ? REPORT_REJECT_ID : REPORT_FAIL_ID);
+ sendto_one(cptr, "%s", rejected ? REPORT_REJECT_ID : REPORT_FAIL_ID);
#endif
return;
}
#ifdef SHOW_HEADERS
else
- sendto_one(cptr, REPORT_FIN_ID);
+ sendto_one(cptr, "%s", REPORT_FIN_ID);
#endif
ircstp->is_asuc++;
diff --git a/src/s_bsd.c b/src/s_bsd.c
index 22547b2..722122c 100644
--- a/src/s_bsd.c
+++ b/src/s_bsd.c
@@ -715,7 +715,7 @@ int check_server_init(aClient * cptr)
if (!hp->h_addr_list[i])
{
sendto_realops_lev(ADMIN_LEV,
- "Server IP# Mismatch: %s != %s[%08x]",
+ "Server IP# Mismatch: %s != %s[%08lx]",
inetntoa((char *) &cptr->ip), hp->h_name,
*((unsigned long *) hp->h_addr));
hp = NULL;
@@ -1058,7 +1058,7 @@ static void set_sock_opts(int fd, aClient * cptr)
else if (opt > 0)
{
for (*readbuf = '\0'; opt > 0; opt--, s += 3)
- ircsprintf(s, "%02.2x:", *t++);
+ ircsprintf(s, "%2.2x:", *t++);
*s = '\0';
sendto_realops("Connection %s using IP opts: (%s)",
get_client_name(cptr, HIDEME), readbuf);
@@ -1293,7 +1293,7 @@ aClient *add_connection(aListener *lptr, int fd)
return NULL;
#ifdef SHOW_HEADERS
- sendto_one(acptr, REPORT_DO_DNS);
+ sendto_one(acptr, "%s", REPORT_DO_DNS);
#endif
lin.flags = ASYNC_CLIENT;
lin.value.cptr = acptr;
@@ -1303,7 +1303,7 @@ aClient *add_connection(aListener *lptr, int fd)
SetDNS(acptr);
#ifdef SHOW_HEADERS
else
- sendto_one(acptr, REPORT_FIN_DNSC);
+ sendto_one(acptr, "%s", REPORT_FIN_DNSC);
#endif
nextdnscheck = 1;
@@ -1995,7 +1995,7 @@ void do_dns_async()
{
del_queries((char *) cptr);
#ifdef SHOW_HEADERS
- sendto_one(cptr, REPORT_FIN_DNS);
+ sendto_one(cptr, "%s", REPORT_FIN_DNS);
#endif
ClearDNS(cptr);
cptr->hostp = hp;
diff --git a/src/s_misc.c b/src/s_misc.c
index 79e3f83..39108c5 100644
--- a/src/s_misc.c
+++ b/src/s_misc.c
@@ -189,7 +189,7 @@ get_client_name(aClient *sptr, int showip)
if (sptr->name[0])
s += ircsprintf(s, "%s", sptr->name);
else
- s += ircsprintf(s, "<unnamed>", sptr->name);
+ s += ircsprintf(s, "%s", "<unnamed>");
if (IsServer(sptr))
{
diff --git a/src/s_serv.c b/src/s_serv.c
index 4431ef2..82dd8f7 100644
--- a/src/s_serv.c
+++ b/src/s_serv.c
@@ -332,20 +332,21 @@ int m_svinfo(aClient *cptr, aClient *sptr, int parc, char *parv[])
if (deltat > tsmaxdelta)
{
sendto_gnotice("from %s: Link %s dropped, excessive TS delta (my "
- "TS=%d, their TS=%d, delta=%d)",
- me.name, get_client_name(sptr, HIDEME), tmptime,
- theirtime, deltat);
+ "TS=%ld, their TS=%ld, delta=%ld)",
+ me.name, get_client_name(sptr, HIDEME),
+ (long)tmptime, (long)theirtime, (long)deltat);
sendto_serv_butone(sptr, ":%s GNOTICE :Link %s dropped, excessive "
- "TS delta (delta=%d)",
- me.name, get_client_name(sptr, HIDEME), deltat);
+ "TS delta (delta=%ld)",
+ me.name, get_client_name(sptr, HIDEME),
+ (long)deltat);
return exit_client(sptr, sptr, sptr, "Excessive TS delta");
}
if (deltat > tswarndelta)
{
- sendto_realops("Link %s notable TS delta (my TS=%d, their TS=%d, "
- "delta=%d)", get_client_name(sptr, HIDEME), tmptime,
- theirtime, deltat);
+ sendto_realops("Link %s notable TS delta (my TS=%ld, their TS=%ld, "
+ "delta=%ld)", get_client_name(sptr, HIDEME),
+ (long)tmptime, (long)theirtime, (long)deltat);
}
return 0;
@@ -371,12 +372,12 @@ m_burst(aClient *cptr, aClient *sptr, int parc, char *parv[])
* they're not BURST capab
*/
- sendto_gnotice("from %s: synch to %s in %d %s at %s sendq", me.name,
- *parv, (timeofday-sptr->firsttime),
+ sendto_gnotice("from %s: synch to %s in %ld %s at %s sendq", me.name,
+ *parv, (long)(timeofday-sptr->firsttime),
(timeofday-sptr->firsttime)==1?"sec":"secs", parv[1]);
sendto_serv_butone(NULL,
- ":%s GNOTICE :synch to %s in %d %s at %s sendq",
- me.name, sptr->name, (timeofday-sptr->firsttime),
+ ":%s GNOTICE :synch to %s in %ld %s at %s sendq",
+ me.name, sptr->name, (long)(timeofday-sptr->firsttime),
(timeofday-sptr->firsttime)==1?"sec":"secs",
parv[1]);
@@ -2520,9 +2521,9 @@ m_akill(aClient *cptr, aClient *sptr, int parc, char *parv[])
if(oban)
{
/* pass along the akill anyways */
- sendto_serv_butone(cptr, ":%s AKILL %s %s %d %s %d :%s",
- sptr->name, host, user, length, akiller,
- timeset, reason);
+ sendto_serv_butone(cptr, ":%s AKILL %s %s %ld %s %ld :%s",
+ sptr->name, host, user, (long)length, akiller,
+ (long)timeset, reason);
userban_free(ban);
return 0;
}
@@ -2537,9 +2538,9 @@ m_akill(aClient *cptr, aClient *sptr, int parc, char *parv[])
add_hostbased_userban(ban);
/* send it off to any other servers! */
- sendto_serv_butone(cptr, ":%s AKILL %s %s %d %s %d :%s",
- sptr->name, host, user, length, akiller,
- timeset, reason);
+ sendto_serv_butone(cptr, ":%s AKILL %s %s %ld %s %ld :%s",
+ sptr->name, host, user, (long)length, akiller,
+ (long)timeset, reason);
/* Check local users against it */
userban_sweep(ban);
@@ -2997,9 +2998,9 @@ m_check(aClient *cptr, aClient *sptr, int parc, char *parv[])
char *reason = ban->reason ? ban->reason : "<no reason>";
if (ban->flags & SBAN_TEMPORARY)
- sendto_one(sptr, "NOTICE %s :CHECK NICK: %s [expires in %dm]: %s",
+ sendto_one(sptr, "NOTICE %s :CHECK NICK: %s [expires in %ldm]: %s",
parv[0], ban->mask,
- (ban->timeset + ban->duration - NOW) / 60,
+ (long)((ban->timeset + ban->duration - NOW) / 60),
reason);
else
sendto_one(sptr, "NOTICE %s :CHECK NICK: %s [permanent]: %s",
diff --git a/src/s_user.c b/src/s_user.c
index 6e98aa6..2e6bf51 100644
--- a/src/s_user.c
+++ b/src/s_user.c
@@ -1280,7 +1280,7 @@ check_dccsend(aClient *from, aClient *to, char *msg)
"to send you this file, you may obtain"
" more information on using the dccallow system by "
"typing /dccallow help",
- me.name, to->name, from->name, to->name);
+ me.name, to->name, from->name);
}
for(tlp = to->user->channel; tlp && !chptr; tlp = tlp->next)
diff --git a/src/send.c b/src/send.c
index d953727..9c33d44 100644
--- a/src/send.c
+++ b/src/send.c
@@ -190,7 +190,7 @@ static int send_message(aClient *to, char *msg, int len, void* sbuf)
* Kept in. - lucas
*/
if (IsServer(to))
- sendto_ops("Max SendQ limit exceeded for %s: %d > %d",
+ sendto_ops("Max SendQ limit exceeded for %s: %d > %ld",
get_client_name(to, HIDEME), SBufLength(&to->sendQ),
to->class->maxsendq);
to->flags |= FLAGS_SENDQEX;
diff --git a/src/throttle.c b/src/throttle.c
index 9f512a6..4085e4b 100644
--- a/src/throttle.c
+++ b/src/throttle.c
@@ -449,8 +449,8 @@ throttle_check(char *host, int fd, time_t sotime)
/* let +c ops know */
sendto_realops_lev(REJ_LEV, "throttled connections from %s (%d in"
- " %d seconds) for %d minutes (offense %d)",
- tp->addr, tp->conns, sotime - tp->first,
+ " %ld seconds) for %d minutes (offense %d)",
+ tp->addr, tp->conns, (long)(sotime - tp->first),
zlength / 60, tp->stage + 1);
elength = ircsnprintf(errbufr, 512, ":%s NOTICE ZUSR :You have"
@@ -473,8 +473,7 @@ throttle_check(char *host, int fd, time_t sotime)
/* We steal this message from undernet, because mIRC detects it
* and doesn't try to autoreconnect */
elength = ircsnprintf(errbufr, 512, "ERROR :Your host is trying "
- "to (re)connect too fast -- throttled.\r\n",
- tp->addr);
+ "to (re)connect too fast -- throttled.\r\n");
send(fd, errbufr, elength, 0);
tp->zline_start = sotime;
@@ -567,10 +566,10 @@ void throttle_stats(aClient *cptr, char *name)
int ztime = throttle_get_zline_time(tp->stage);
if (tp->zline_start && tp->zline_start + ztime > NOW)
- sendto_one(cptr, ":%s %d %s :throttled: %s [stage %d, %d secs"
+ sendto_one(cptr, ":%s %d %s :throttled: %s [stage %d, %ld secs"
" remain, %d futile retries]", me.name,
RPL_STATSDEBUG, name, tp->addr, tp->stage,
- (tp->zline_start + ztime) - NOW, tp->re_zlines);
+ (long)((tp->zline_start + ztime) - NOW), tp->re_zlines);
}
}
diff --git a/src/userban.c b/src/userban.c
index 428f424..7b35c98 100644
--- a/src/userban.c
+++ b/src/userban.c
@@ -1300,7 +1300,7 @@ void send_simbans(aClient *cptr, unsigned int flags)
if((ban->flags & flags) == flags)
{
if(ban->flags & SBAN_GCOS)
- sendto_one(cptr, ":%s SGLINE %d :%s:%s", me.name, strlen(ban->mask),
+ sendto_one(cptr, ":%s SGLINE %d :%s:%s", me.name, (int)strlen(ban->mask),
ban->mask, ban->reason);
else
sendto_one(cptr, ":%s SQLINE %s :%s", me.name,
@@ -1320,7 +1320,7 @@ void send_simbans(aClient *cptr, unsigned int flags)
if((ban->flags & flags) == flags)
{
if(ban->flags & SBAN_GCOS)
- sendto_one(cptr, ":%s SGLINE %d :%s:%s", me.name, strlen(ban->mask),
+ sendto_one(cptr, ":%s SGLINE %d :%s:%s", me.name, (int)strlen(ban->mask),
ban->mask, ban->reason);
else
sendto_one(cptr, ":%s SQLINE %s :%s", me.name,
--
1.6.3.3