summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-03-30 11:33:47 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-03-30 11:33:47 -0600
commit1e6a78c369b967faa7ca79646e75bdb7721ba71d (patch)
tree07be817cc515b1ac47e72a92a7c51565b5211ec3
parent53421deaee4b33c4425ac6ebab988e3ebeec5d11 (diff)
downloadnuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.tar.gz
nuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.tar.bz2
nuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.zip
Use get_errno() instead of errno because I may do something different if used inside the OS
-rw-r--r--nuttx/libc/stdio/lib_sscanf.c12
1 files 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;
}