diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-03-30 11:33:47 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-03-30 11:33:47 -0600 |
commit | 1e6a78c369b967faa7ca79646e75bdb7721ba71d (patch) | |
tree | 07be817cc515b1ac47e72a92a7c51565b5211ec3 /nuttx | |
parent | 53421deaee4b33c4425ac6ebab988e3ebeec5d11 (diff) | |
download | px4-nuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.tar.gz px4-nuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.tar.bz2 px4-nuttx-1e6a78c369b967faa7ca79646e75bdb7721ba71d.zip |
Use get_errno() instead of errno because I may do something different if used inside the OS
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/libc/stdio/lib_sscanf.c | 12 |
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; } |