diff options
| author | Stefan Monnier | 2011-03-31 00:24:03 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-03-31 00:24:03 -0400 |
| commit | 40d83b412f584cc02e68d4eac8fd5e6eb769e2fe (patch) | |
| tree | b56f27a7e6d75a8c1fd27b00179a27b5efea0a32 /lib/strftime.c | |
| parent | f488fb6528738131ef41859e1f04125f2e50efce (diff) | |
| parent | 44f230aa043ebb222aa0876b44d70484d5dd38db (diff) | |
| download | emacs-40d83b412f584cc02e68d4eac8fd5e6eb769e2fe.tar.gz emacs-40d83b412f584cc02e68d4eac8fd5e6eb769e2fe.zip | |
Merge from trunk
Diffstat (limited to 'lib/strftime.c')
| -rw-r--r-- | lib/strftime.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/strftime.c b/lib/strftime.c index 0a02b507744..acebc9adfad 100644 --- a/lib/strftime.c +++ b/lib/strftime.c | |||
| @@ -172,15 +172,16 @@ extern char *tzname[]; | |||
| 172 | #define add(n, f) \ | 172 | #define add(n, f) \ |
| 173 | do \ | 173 | do \ |
| 174 | { \ | 174 | { \ |
| 175 | int _n = (n); \ | 175 | size_t _n = (n); \ |
| 176 | int _delta = width - _n; \ | 176 | size_t _w = (width < 0 ? 0 : width); \ |
| 177 | int _incr = _n + (_delta > 0 ? _delta : 0); \ | 177 | size_t _incr = _n < _w ? _w : _n; \ |
| 178 | if ((size_t) _incr >= maxsize - i) \ | 178 | if (_incr >= maxsize - i) \ |
| 179 | return 0; \ | 179 | return 0; \ |
| 180 | if (p) \ | 180 | if (p) \ |
| 181 | { \ | 181 | { \ |
| 182 | if (digits == 0 && _delta > 0) \ | 182 | if (digits == 0 && _n < _w) \ |
| 183 | { \ | 183 | { \ |
| 184 | size_t _delta = width - _n; \ | ||
| 184 | if (pad == L_('0')) \ | 185 | if (pad == L_('0')) \ |
| 185 | memset_zero (p, _delta); \ | 186 | memset_zero (p, _delta); \ |
| 186 | else \ | 187 | else \ |