This is a discussion on Re: strftime's %c warning? - FreeBSD ; On Wed, Oct 08, 2008 at 10:20:00PM +0200, Ivan Voras wrote: > I'm trying to use the %c formatter in strftime(3), documented as: > > " > %c is replaced by national representation of time and date. > " > ...
On Wed, Oct 08, 2008 at 10:20:00PM +0200, Ivan Voras wrote:
> I'm trying to use the %c formatter in strftime(3), documented as:
> %c is replaced by national representation of time and date.
> ... which looks useful, except that in code in which WFORMAT is defined
> as "1" I get this error:
> str.c: In function 'ltime':
> str.c:141: warning: '%c' yields only last 2 digits of year in some
> locales on non-BSD systems
> *** Error code 1
> Since the code I'm developing is definitely BSD-only (patch to pkg_*
> infrastructure), should I:
> a) stop using locale-based %c and choose my own date/time format
> b) remove WFORMAT from the Makefile?
> The same warning/error is generated by %x and %X, and %+ described in
> the strftime man page isn't recognized.
Yes. In FreeBSD 4.x, gcc was patched not to warn about these, so
compiling with -Werror was possible even when using this. Since FreeBSD
5.x, this patch wasn't applied anymore.
If you only want it to compile on your own system with -Werror, you can
use this patch (and probably adapt it to %c, %x and %X as well):
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-----END PGP SIGNATURE-----