Date: Sat, 6 Mar 2004 08:26:25 -0800 From: Luigi Rizzo <rizzo@icir.org> To: Johan Karlsson <johan@freebsd.org> Cc: ipfw@freebsd.org Subject: Re: WARNS cleanup for ipfw Message-ID: <20040306082625.B34490@xorpc.icir.org> In-Reply-To: <20040306111922.GA64109@numeri.campus.luth.se>; from johan@freebsd.org on Sat, Mar 06, 2004 at 12:19:22PM %2B0100 References: <20040306111922.GA64109@numeri.campus.luth.se>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 06, 2004 at 12:19:22PM +0100, Johan Karlsson wrote: > Hi > > the attached patch makes ipfw WARNS=2 clean by using the > %j/(uintmax_t) combo where so needed. If there are no > objections I intend to commit this patch. if align_uint64() is always cast to uintmax_t, why don't you define it to return the proper type instead ? Also, where do %j/uintmax_t stand in terms of standards ? certainly the gcc in 4.x does not like them... cheers luigi > take care > /Johan K > > -- > Johan Karlsson mailto:johan@FreeBSD.org > Index: sbin/ipfw/Makefile > =================================================================== > RCS file: /home/ncvs/src/sbin/ipfw/Makefile,v > retrieving revision 1.12 > diff -u -r1.12 Makefile > --- sbin/ipfw/Makefile 11 Jul 2002 17:33:37 -0000 1.12 > +++ sbin/ipfw/Makefile 5 Mar 2004 22:06:10 -0000 > @@ -2,7 +2,7 @@ > > PROG= ipfw > SRCS= ipfw2.c > -WARNS?= 0 > +WARNS?= 2 > MAN= ipfw.8 > > .include <bsd.prog.mk> > Index: sbin/ipfw/ipfw2.c > =================================================================== > RCS file: /home/ncvs/src/sbin/ipfw/ipfw2.c,v > retrieving revision 1.45 > diff -u -r1.45 ipfw2.c > --- sbin/ipfw/ipfw2.c 24 Jan 2004 19:20:09 -0000 1.45 > +++ sbin/ipfw/ipfw2.c 5 Mar 2004 22:05:38 -0000 > @@ -36,6 +36,7 @@ > #include <netdb.h> > #include <pwd.h> > #include <signal.h> > +#include <stdint.h> > #include <stdio.h> > #include <stdlib.h> > #include <stdarg.h> > @@ -902,8 +903,9 @@ > printf("%05u ", rule->rulenum); > > if (pcwidth>0 || bcwidth>0) > - printf("%*llu %*llu ", pcwidth, align_uint64(&rule->pcnt), > - bcwidth, align_uint64(&rule->bcnt)); > + printf("%*ju %*ju ", pcwidth, > + (uintmax_t)align_uint64(&rule->pcnt), > + bcwidth, (uintmax_t)align_uint64(&rule->bcnt)); > > if (do_time == 2) > printf("%10u ", rule->timestamp); > @@ -1331,9 +1333,9 @@ > bcopy(&d->rule, &rulenum, sizeof(rulenum)); > printf("%05d", rulenum); > if (pcwidth>0 || bcwidth>0) > - printf(" %*llu %*llu (%ds)", pcwidth, > - align_uint64(&d->pcnt), bcwidth, > - align_uint64(&d->bcnt), d->expire); > + printf(" %*ju %*ju (%ds)", pcwidth, > + (uintmax_t)align_uint64(&d->pcnt), bcwidth, > + (uintmax_t)align_uint64(&d->bcnt), d->expire); > switch (d->dyn_type) { > case O_LIMIT_PARENT: > printf(" PARENT %d", d->count); > @@ -1423,12 +1425,12 @@ > ina.s_addr = htonl(q[l].id.dst_ip); > printf("%15s/%-5d ", > inet_ntoa(ina), q[l].id.dst_port); > - printf("%4qu %8qu %2u %4u %3u\n", > - q[l].tot_pkts, q[l].tot_bytes, > + printf("%4ju %8ju %2u %4u %3u\n", > + (uintmax_t)q[l].tot_pkts, (uintmax_t)q[l].tot_bytes, > q[l].len, q[l].len_bytes, q[l].drops); > if (verbose) > - printf(" S %20qd F %20qd\n", > - q[l].S, q[l].F); > + printf(" S %20jd F %20jd\n", > + (intmax_t)q[l].S, (intmax_t)q[l].F); > } > } > > @@ -1517,7 +1519,7 @@ > p->pipe_nr, buf, p->delay); > print_flowset_parms(&(p->fs), prefix); > if (verbose) > - printf(" V %20qd\n", p->V >> MY_M); > + printf(" V %20jd\n", (intmax_t)p->V >> MY_M); > > q = (struct dn_flow_queue *)(p+1); > list_queues(&(p->fs), q); > @@ -1743,27 +1745,27 @@ > if (show_counters) { > for (n = 0, r = data; n < nstat; n++, r = NEXT(r)) { > /* packet counter */ > - width = snprintf(NULL, 0, "%llu", > - align_uint64(&r->pcnt)); > + width = snprintf(NULL, 0, "%ju", > + (uintmax_t)align_uint64(&r->pcnt)); > if (width > pcwidth) > pcwidth = width; > > /* byte counter */ > - width = snprintf(NULL, 0, "%llu", > - align_uint64(&r->bcnt)); > + width = snprintf(NULL, 0, "%ju", > + (uintmax_t)align_uint64(&r->bcnt)); > if (width > bcwidth) > bcwidth = width; > } > } > if (do_dynamic && ndyn) { > for (n = 0, d = dynrules; n < ndyn; n++, d++) { > - width = snprintf(NULL, 0, "%llu", > - align_uint64(&d->pcnt)); > + width = snprintf(NULL, 0, "%ju", > + (uintmax_t)align_uint64(&d->pcnt)); > if (width > pcwidth) > pcwidth = width; > > - width = snprintf(NULL, 0, "%llu", > - align_uint64(&d->bcnt)); > + width = snprintf(NULL, 0, "%ju", > + (uintmax_t)align_uint64(&d->bcnt)); > if (width > bcwidth) > bcwidth = width; > } > _______________________________________________ > freebsd-ipfw@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw > To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040306082625.B34490>