Mercurial > gnulib
changeset 37525:3cc0894f61eb
xstrtol: ensure errno is reset
Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
Noticed with a spurious coreutils test failure on Darwin 14.0.0.
* lib/xstrtol.c (__xstrtol): Always reset errno before returning.
author | Pádraig Brady <P@draigBrady.com> |
---|---|
date | Tue, 30 Dec 2014 23:37:26 +0000 |
parents | 39226b1f6d9d |
children | fb38cd96d07f |
files | ChangeLog lib/xstrtol.c |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Dec 28 14:03:39 2014 -0800 +++ b/ChangeLog Tue Dec 30 23:37:26 2014 +0000 @@ -1,3 +1,11 @@ +2014-12-30 Pádraig Brady <P@draigBrady.com> + + xstrtol: ensure errno is reset + Since commit 3bf75404, on 26-09-1998, errno may not have been reset. + Noticed with a spurious coreutils test failure on Darwin 14.0.0. + + * lib/xstrtol.c (__xstrtol): Always reset errno before returning. + 2014-12-28 Paul Eggert <eggert@cs.ucla.edu> utimens: fix dependency typo
--- a/lib/xstrtol.c Sun Dec 28 14:03:39 2014 -0800 +++ b/lib/xstrtol.c Tue Dec 30 23:37:26 2014 +0000 @@ -97,6 +97,8 @@ p = (ptr ? ptr : &t_ptr); + errno = 0; + if (! TYPE_SIGNED (__strtol_t)) { const char *q = s; @@ -107,7 +109,6 @@ return LONGINT_INVALID; } - errno = 0; tmp = __strtol (s, p, strtol_base); if (*p == s)