open(O_RDWR) and lseek() fail
Eric Blake
eblake@redhat.com
Fri Mar 28 17:00:00 GMT 2014
On 03/28/2014 06:53 AM, Nellis, Kenneth wrote:
> x.c:12:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘off_t’ [-Wformat=]
>
> So, then, after changing %d to %lld, gcc -Wall -pedantic complains:
My advice: You usually do NOT want to compile with -pedantic. That
option exists for programs that are sticking _strictly_ to the C
standard, but lseek() and off_t are not part of the C standard. There
is no portable way to be pedantic to the C89 standard and simultaneously
use 64-bit offsets. The situation is better in C99, since that
introduced 64-bit types.
If you want to use %lld, you have to use C99, not C89; use gcc -std=c99
or gcc -std=gnu99. By omitting -std, you got gcc's default, which for
now is still -std=c89.
> Wondering how to printf an off_t value without the compiler complaining while
> using -Wall -pedantic.
You can't. So drop the -pedantic.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20140328/e3b533a3/attachment.sig>
More information about the Cygwin
mailing list