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
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-12-26 21:26:17 +0300
committerChristopher Faylor <me@cgf.cx>2003-12-26 21:26:17 +0300
commit39add36fc3bc0cf244a408572d5a66fd4ce36eed (patch)
treef9edadabb4a4c5f47f334728cc76885079ee7abb
parent91301b852f178803c696706bd2b40d98f932645c (diff)
* path.cc (mount_item::build_win32): Backslashify paths in non-managed case.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/exceptions.cc5
-rw-r--r--winsup/cygwin/path.cc5
3 files changed, 11 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 6a24494f8..4f3b63625 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 ee550915f..228d2c8e2 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 0f60be4d1..a7d95df71 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)
{