diff options
author | Christopher Faylor <me@cgf.cx> | 2003-12-26 18:26:17 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-12-26 18:26:17 +0000 |
commit | 39add36fc3bc0cf244a408572d5a66fd4ce36eed (patch) | |
tree | f9edadabb4a4c5f47f334728cc76885079ee7abb | |
parent | 91301b852f178803c696706bd2b40d98f932645c (diff) | |
download | newlib-39add36fc3bc0cf244a408572d5a66fd4ce36eed.zip newlib-39add36fc3bc0cf244a408572d5a66fd4ce36eed.tar.gz newlib-39add36fc3bc0cf244a408572d5a66fd4ce36eed.tar.bz2 |
* path.cc (mount_item::build_win32): Backslashify paths in non-managed case.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 5 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6a24494..4f3b636 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-12-26 Christopher Faylor <cgf@redhat.com> + + * path.cc (mount_item::build_win32): Backslashify paths in non-managed + case. + 2003-12-25 Christopher Faylor <cgf@redhat.com> * dcrt0.cc (reent_data): Reluctantly resurrect. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index ee55091..228d2c8 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -710,11 +710,10 @@ setup_handler (int sig, void *handler, struct sigaction& siga, _threadinfo *tls) for (int i = 0; i < CALL_HANDLER_RETRY; i++) { - __stack_t retaddr; __stack_t *retaddr_on_stack = tls->stackptr - 1; - if (retaddr_on_stack >= tls->stack - && (retaddr = InterlockedExchange ((LONG *) retaddr_on_stack, 0))) + if (retaddr_on_stack >= tls->stack) { + __stack_t retaddr = InterlockedExchange ((LONG *) retaddr_on_stack, 0); if (!retaddr) continue; tls->reset_exception (); diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 0f60be4..a7d95df 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1280,7 +1280,10 @@ mount_item::build_win32 (char *dst, const char *src, unsigned *outflags, unsigne else if ((!(flags & MOUNT_ENC) && isdrive (dst) && !dst[2]) || *p) dst[n++] = '\\'; if (!*p || !(flags & MOUNT_ENC)) - strcpy (dst + n, p); + { + strcpy (dst + n, p); + backslashify (dst, dst, 0); + } else while (*p) { |