* 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.
This commit is contained in:
parent
ef42416e99
commit
4eafa56ec2
@ -1,3 +1,13 @@
|
||||
Mon Sep 25 20:47:04 2000 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2000-09-25 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* spawn.cc (av::dup_maybe): Make function void rather than void *.
|
||||
|
@ -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
|
||||
|
@ -314,7 +314,6 @@ private:
|
||||
public:
|
||||
fhandler_socket (const char *name = 0);
|
||||
fhandler_socket (unsigned int, const char *name = 0);
|
||||
~fhandler_socket ();
|
||||
int get_socket () const { return (int) get_handle(); }
|
||||
fhandler_socket * is_socket () { return this; }
|
||||
int write (const void *ptr, size_t len);
|
||||
|
@ -33,11 +33,6 @@ details. */
|
||||
#include "pinfo.h"
|
||||
#include "registry.h"
|
||||
|
||||
/* We only want to initialize WinSock in a child process if socket
|
||||
handles are inheritted. This global allows us to know whether this
|
||||
should be done or not */
|
||||
int number_of_sockets = 0;
|
||||
|
||||
extern "C"
|
||||
{
|
||||
int h_errno;
|
||||
@ -1584,7 +1579,6 @@ fhandler_socket::fhandler_socket (const char *name) :
|
||||
fhandler_base (FH_SOCKET, name)
|
||||
{
|
||||
set_cb (sizeof *this);
|
||||
number_of_sockets++;
|
||||
}
|
||||
|
||||
/* sethostent: standards? */
|
||||
@ -1601,15 +1595,6 @@ endhostent (void)
|
||||
{
|
||||
}
|
||||
|
||||
fhandler_socket::~fhandler_socket ()
|
||||
{
|
||||
if (--number_of_sockets < 0)
|
||||
{
|
||||
number_of_sockets = 0;
|
||||
system_printf("socket count < 0");
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_socket::read (void *ptr, size_t len)
|
||||
{
|
||||
|
@ -496,7 +496,7 @@ spawn_guts (HANDLE hToken, const char * prog_arg, const char *const *argv,
|
||||
const char *a;
|
||||
|
||||
newargv.dup_maybe (i);
|
||||
a = newargv[i];
|
||||
a = i ? newargv[i] : (char *) real_path;
|
||||
int len = strlen (a);
|
||||
if (len != 0 && !strpbrk (a, " \t\n\r\""))
|
||||
one_line.add (a, len);
|
||||
|
Loading…
Reference in New Issue
Block a user