Message ID | 20130518161850.GA16019@amd64.fatal.se |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
On Sat, 18 May 2013 18:18:51 +0200 Andreas Henriksson <andreas@fatal.se> wrote: > tv_usec is "suseconds_t" which is apparently usually > a signed long, but sometimes not.... > Change the printf modifier to use signed and > cast the tv_usec to long in case it's not already long. > > gcc -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -O2 -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib\" -DCONFDIR=\"/etc/iproute2\" -D_GNU_SOURCE -fPIC -c -o utils.o utils.c > utils.c: In function 'print_timestamp': > utils.c:802:2: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type '__suseconds_t' [-Werror=format] > cc1: all warnings being treated as errors > > Signed-off-by: Andreas Henriksson <andreas@fatal.se> > Applied, seems like a wierd Sparc/Solaris legacy issue. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, 18 May 2013 18:18:51 +0200 Andreas Henriksson <andreas@fatal.se> wrote: > tv_usec is "suseconds_t" which is apparently usually > a signed long, but sometimes not.... > Change the printf modifier to use signed and > cast the tv_usec to long in case it's not already long. > > gcc -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -O2 -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib\" -DCONFDIR=\"/etc/iproute2\" -D_GNU_SOURCE -fPIC -c -o utils.o utils.c > utils.c: In function 'print_timestamp': > utils.c:802:2: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type '__suseconds_t' [-Werror=format] > cc1: all warnings being treated as errors > > Signed-off-by: Andreas Henriksson <andreas@fatal.se> Sure applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/lib/utils.c b/lib/utils.c index bcd6002..dae1b51 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -799,7 +799,7 @@ int print_timestamp(FILE *fp) tstr = asctime(localtime(&tv.tv_sec)); tstr[strlen(tstr)-1] = 0; - fprintf(fp, "Timestamp: %s %lu usec\n", tstr, tv.tv_usec); + fprintf(fp, "Timestamp: %s %ld usec\n", tstr, (long)tv.tv_usec); return 0; }
tv_usec is "suseconds_t" which is apparently usually a signed long, but sometimes not.... Change the printf modifier to use signed and cast the tv_usec to long in case it's not already long. gcc -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -O2 -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib\" -DCONFDIR=\"/etc/iproute2\" -D_GNU_SOURCE -fPIC -c -o utils.o utils.c utils.c: In function 'print_timestamp': utils.c:802:2: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type '__suseconds_t' [-Werror=format] cc1: all warnings being treated as errors Signed-off-by: Andreas Henriksson <andreas@fatal.se> --- lib/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)