
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@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@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@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