From 1e6a78c369b967faa7ca79646e75bdb7721ba71d Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 30 Mar 2014 11:33:47 -0600 Subject: Use get_errno() instead of errno because I may do something different if used inside the OS --- nuttx/libc/stdio/lib_sscanf.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nuttx/libc/stdio/lib_sscanf.c b/nuttx/libc/stdio/lib_sscanf.c index d9b024adf..b426c4cdf 100644 --- a/nuttx/libc/stdio/lib_sscanf.c +++ b/nuttx/libc/stdio/lib_sscanf.c @@ -458,13 +458,15 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap) int errsave; long tmplong; - errsave = errno; + /* Preserve the errno value */ + + errsave = get_errno(); set_errno(0); tmplong = strtol(tmp, &endptr, base); /* Number can't be converted */ - if (tmp == endptr || errno == ERANGE) + if (tmp == endptr || get_errno() == ERANGE) { return count; } @@ -568,13 +570,15 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap) int errsave; double_t dvalue; - errsave = errno; + /* Preserve the errno value */ + + errsave = get_errno(); set_errno(0); dvalue = strtod(tmp, &endptr); /* Number can't be converted */ - if (tmp == endptr || errno == ERANGE) + if (tmp == endptr || get_errno() == ERANGE) { return count; } -- cgit v1.2.3