Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2017-03-10 22:21:09 +0300
committerCorinna Vinschen <corinna@vinschen.de>2017-03-10 22:21:09 +0300
commit44b1746a41921533d27aca414a9188314cb725b6 (patch)
tree5f325463ec1c233b9308834b1e3f03f1f788cb5b /winsup
parentf2e6553c2528c2afe048366821725eb3ca26e044 (diff)
errno: Stop using _impure_ptr->_errno completely
We use errno AKA _REENT->_errno since the last century and only set _impure_ptr->_errno for backward compat. Stop that. Also, remove the last check for _impure_ptr->_errno in Cygwin code. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/cygerrno.h4
-rw-r--r--winsup/cygwin/environ.cc3
-rw-r--r--winsup/cygwin/errno.cc4
3 files changed, 5 insertions, 6 deletions
diff --git a/winsup/cygwin/cygerrno.h b/winsup/cygwin/cygerrno.h
index ce33d971a..05de6ab0d 100644
--- a/winsup/cygwin/cygerrno.h
+++ b/winsup/cygwin/cygerrno.h
@@ -30,7 +30,7 @@ extern inline int
__set_errno (const char *fn, int ln, int val)
{
debug_printf ("%s:%d setting errno %d", fn, ln, val);
- return errno = _impure_ptr->_errno = val;
+ return errno = val;
}
#define set_errno(val) __set_errno (__PRETTY_FUNCTION__, __LINE__, (val))
@@ -45,7 +45,7 @@ class save_errno
save_errno (int what) {saved = get_errno (); set_errno (what); }
void set (int what) {set_errno (what); saved = what;}
void reset () {saved = get_errno ();}
- ~save_errno () {errno = _impure_ptr->_errno = saved;}
+ ~save_errno () {errno = saved;}
};
extern const char *__sp_fn;
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index 667e7c0ef..7d90e4f01 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -454,8 +454,7 @@ posify_maybe (char **here, const char *value, char *outenv)
memcpy (outenv, src, len);
char *newvalue = outenv + len;
- if (!conv->toposix (value, newvalue, NT_MAX_PATH - len)
- || _impure_ptr->_errno != EIDRM)
+ if (!conv->toposix (value, newvalue, NT_MAX_PATH - len) || errno != EIDRM)
conv->add_cache (newvalue, *value != '/' ? value : NULL);
else
{
diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc
index 9168e9b4d..390723e67 100644
--- a/winsup/cygwin/errno.cc
+++ b/winsup/cygwin/errno.cc
@@ -339,7 +339,7 @@ void __reg3
seterrno_from_win_error (const char *file, int line, DWORD code)
{
syscall_printf ("%s:%d windows error %u", file, line, code);
- errno = _impure_ptr->_errno = geterrno_from_win_error (code, EACCES);
+ errno = geterrno_from_win_error (code, EACCES);
}
int __reg2
@@ -357,7 +357,7 @@ seterrno_from_nt_status (const char *file, int line, NTSTATUS status)
SetLastError (code);
syscall_printf ("%s:%d status %y -> windows error %u",
file, line, status, code);
- errno = _impure_ptr->_errno = geterrno_from_win_error (code, EACCES);
+ errno = geterrno_from_win_error (code, EACCES);
}
static char *