Deprecated format specifier in cygwin

From: Andrey Shorin <tolsty@dont-contact.us>
Date: Tue, 11 Oct 2005 22:22:23 +0400

Hello Squid,

Using cvs -d:pserver:anoncvs@cvs.squid-cache.org:/squid co -kk squid

tolsty@tol ~/squid/squid-2.5-cygwin
$ make MAXHOSTNAMELEN=255 2>&1 |tee ../cygwin.log
gcc -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -I. -I. -I../include -I. -I. -I../include -I../include -D_FILE_OFFSET_BITS=64 -g -O2 -Wall -D_REENTRANT -c `test -f comm.c || echo './'`comm.c
comm.c: In function `commSetNonBlocking':
comm.c:797: warning: unknown conversion type character `D' in format
comm.c:797: warning: too many arguments for format

man sprintf says %D, %O, %U formats are deprecated. Their equivalents
are %ld, %lo and %lu. However, changing format to %ld gives this:

$ make MAXHOSTNAMELEN=255 2>&1 |tee ../cygwin.log
gcc -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -I. -I. -I../include -I. -I. -I../include -I../include -D_FILE_OFFSET_BITS=64 -g -O2 -Wall -D_REENTRANT -c `test -f comm.c || echo './'`comm.c
comm.c: In function `commSetNonBlocking':
comm.c:797: warning: long int format, unsigned int arg (arg 4)

Maybe the solution is to omit arg 4 at all?

   debug(50, 0) ("commSetNonBlocking: FD %d: %s\n", fd, xstrerror());

Proposed patch attached.

-- 
Best regards,
 Andrey Shorin

Received on Tue Oct 11 2005 - 12:25:07 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Nov 01 2005 - 12:00:07 MST