diff options
author | Christopher Faylor <me@cgf.cx> | 2000-09-26 04:52:21 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-09-26 04:52:21 +0400 |
commit | 4eafa56ec21fe0f92d28ec65abf53a44e8730b4d (patch) | |
tree | e1ed89a3b6a191acacca7784c5e66eb83b38b0e6 /winsup/cygwin/dcrt0.cc | |
parent | ef42416e99500d963cb7a1925b1028ceda9cc29a (diff) |
* dcrt0.cc (quoted): Fix problem where ' quoted strings were skipped.
* fhandler.h (fhandler_socket::~fhandler_socket): Delete declaration.
* net.cc: Remove unnecessary "number_of_sockets" usage.
(fhandler_socket::fhandler_socket): Ditto.
(fhandler_socket::~fhandler_socket): Delete definition.
* spawn.cc (spawn_guts): Force first argument passed to CreateProcess as a
command line to be windows style.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index e20bfc21f..4e8ff9cf9 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -312,19 +312,18 @@ quoted (char *cmd, int winshell) return p; } + const char *s = quote == '\'' ? "'" : "\\\""; /* This must have been run from a Windows shell, so preserve quotes for globify to play with later. */ - while (*++cmd) - if ((p = strpbrk (cmd, "\\\"")) == NULL) + while (*cmd && *++cmd) + if ((p = strpbrk (cmd, s)) == NULL) { cmd = strchr (cmd, '\0'); // no closing quote break; } - else if (quote == '\'') - continue; else if (*p == '\\') cmd = ++p; - else if (p[1] == quote) + else if (quote == '"' && p[1] == '"') { *p = '\\'; cmd = ++p; // a quoted quote |