summaryrefslogtreecommitdiff
path: root/lib/strftime.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-04-25 23:27:31 +0200
committerLudovic Courtès <ludo@gnu.org>2011-04-25 23:59:37 +0200
commitdd7d0148f221c3180ab6f31c8742aaf4d0e5926a (patch)
tree1aec441600e3d3ff9aec482ba26656e523b90a72 /lib/strftime.c
parenteb0ffdd8190bff165120b881ca3e1702be82c83a (diff)
downloadguile-dd7d0148f221c3180ab6f31c8742aaf4d0e5926a.tar.gz
Update Gnulib to v0.0-5158-g7d06b32; remove `strcase' and `version-etc-fsf'.
* m4/gnulib-cache.m4: Remove `strcase' and `version-etc-fsf'. * configure.ac (POTENTIAL_GCC_CFLAGS): Remove `-Wundef'. * libguile/script.c: Don't include <version-etc.h>.
Diffstat (limited to 'lib/strftime.c')
-rw-r--r--lib/strftime.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/strftime.c b/lib/strftime.c
index be7750de1..df09be9ca 100644
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -172,15 +172,16 @@ extern char *tzname[];
#define add(n, f) \
do \
{ \
- int _n = (n); \
- int _delta = width - _n; \
- int _incr = _n + (_delta > 0 ? _delta : 0); \
- if ((size_t) _incr >= maxsize - i) \
+ size_t _n = (n); \
+ size_t _w = (width < 0 ? 0 : width); \
+ size_t _incr = _n < _w ? _w : _n; \
+ if (_incr >= maxsize - i) \
return 0; \
if (p) \
{ \
- if (digits == 0 && _delta > 0) \
+ if (digits == 0 && _n < _w) \
{ \
+ size_t _delta = width - _n; \
if (pad == L_('0')) \
memset_zero (p, _delta); \
else \