X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstrftime.c;h=1c202c9b6185392fb39cf3a1a8ac5232ba107101;hb=2354d5ead305b61c925e53bcfb73d47de7c53162;hp=4a4ac06627ecc2e59d4f9ec3e7190d200de5d874;hpb=a8f0811e1e174cd6d3b5f0fef314269d000f9c4c;p=gnulib.git diff --git a/lib/strftime.c b/lib/strftime.c index 4a4ac0662..1c202c9b6 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software +/* Copyright (C) 1991-1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. @@ -18,10 +18,6 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifdef HAVE_CONFIG_H -# include -#endif - #ifdef _LIBC # define HAVE_MBLEN 1 # define HAVE_MBRLEN 1 @@ -32,21 +28,16 @@ # define HAVE_TZSET 1 # define MULTIBYTE_IS_FORMAT_SAFE 1 # include "../locale/localeinfo.h" +#else +# include +# if FPRINTFTIME +# include "fprintftime.h" +# endif #endif #include -#include /* Some systems define `time_t' here. */ +#include -#ifdef TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif #if HAVE_TZNAME && ! defined tzname extern char *tzname[]; #endif @@ -57,7 +48,7 @@ extern char *tzname[]; conversion specifications. The GNU C Library uses UTF8 multibyte encoding, which is safe for formats, but strftime.c can be used with other C libraries that use unsafe encodings. */ -#define DO_MULTIBYTE (HAVE_MBLEN && HAVE_WCHAR_H && ! MULTIBYTE_IS_FORMAT_SAFE) +#define DO_MULTIBYTE (HAVE_MBLEN && ! MULTIBYTE_IS_FORMAT_SAFE) #if DO_MULTIBYTE # if HAVE_MBRLEN @@ -143,11 +134,10 @@ extern char *tzname[]; #endif #if !HAVE_TM_GMTOFF -/* Portable standalone applications should supply a "time_r.h" that +/* Portable standalone applications should supply a "time.h" that declares a POSIX-compliant localtime_r, for the benefit of older implementations that lack localtime_r or have a nonstandard one. See the gnulib time_r module for one way to implement this. */ -# include "time_r.h" # undef __gmtime_r # undef __localtime_r # define __gmtime_r gmtime_r @@ -180,6 +170,12 @@ extern char *tzname[]; # define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) #endif +#if FPRINTFTIME +# define advance(P, N) +#else +# define advance(P, N) ((P) += (N)) +#endif + #define add(n, f) \ do \ { \ @@ -198,7 +194,7 @@ extern char *tzname[]; memset_space (p, _delta); \ } \ f; \ - p += FPRINTFTIME ? 0 : _n; \ + advance (p, _n); \ } \ i += _incr; \ } while (0)