diff options
author | Tom Tromey <tromey@redhat.com> | 2001-11-27 03:09:44 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2001-11-27 03:09:44 +0000 |
commit | c2a727faa20681db53f8e5a4aaf3387e568a2538 (patch) | |
tree | 1aeb8eeba27c487c5f1fab84b7423fa1164c4959 /gdb/fork-child.c | |
parent | 756caa3d897f60ba7a6db86e5d8af3645100a6ac (diff) | |
download | binutils-gdb-c2a727faa20681db53f8e5a4aaf3387e568a2538.tar.gz |
* NEWS: Update for --args.
* infcmd.c (construct_inferior_arguments): Moved from ...
* fork-child.c: ... here.
Diffstat (limited to 'gdb/fork-child.c')
-rw-r--r-- | gdb/fork-child.c | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 24cd00a5b1d..21e508939b6 100644 --- a/gdb/fork-child.c +++ b/gdb/fork-child.c @@ -568,74 +568,3 @@ startup_inferior (int ntraps) #endif /* STARTUP_INFERIOR */ stop_soon_quietly = 0; } - -/* Compute command-line string given argument vector. This does the - same shell processing as fork_inferior. */ -/* ARGSUSED */ -char * -construct_inferior_arguments (struct gdbarch *gdbarch, int argc, char **argv) -{ - char *result; - - if (STARTUP_WITH_SHELL) - { - /* This holds all the characters considered special to the - typical Unix shells. We include `^' because the SunOS - /bin/sh treats it as a synonym for `|'. */ - char *special = "\"!#$&*()\\|[]{}<>?'\"`~^; \t\n"; - int i; - int length = 0; - char *out, *cp; - - /* We over-compute the size. It shouldn't matter. */ - for (i = 0; i < argc; ++i) - length += 2 * strlen (argv[i]) + 1; - - result = (char *) xmalloc (length); - out = result; - - for (i = 0; i < argc; ++i) - { - if (i > 0) - *out++ = ' '; - - for (cp = argv[i]; *cp; ++cp) - { - if (strchr (special, *cp) != NULL) - *out++ = '\\'; - *out++ = *cp; - } - } - *out = '\0'; - } - else - { - /* In this case we can't handle arguments that contain spaces, - tabs, or newlines -- see breakup_args(). */ - int i; - int length = 0; - - for (i = 0; i < argc; ++i) - { - char *cp = strchr (argv[i], ' '); - if (cp == NULL) - cp = strchr (argv[i], '\t'); - if (cp == NULL) - cp = strchr (argv[i], '\n'); - if (cp != NULL) - error ("can't handle command-line argument containing whitespace"); - length += strlen (argv[i]) + 1; - } - - result = (char *) xmalloc (length); - result[0] = '\0'; - for (i = 0; i < argc; ++i) - { - if (i > 0) - strcat (result, " "); - strcat (result, argv[i]); - } - } - - return result; -} |