2002-02-07 Klee Dienes <klee@apple.com>
authorKlee Dienes <kdienes@apple.com>
Thu, 7 Feb 2002 06:11:55 +0000 (06:11 +0000)
committerKlee Dienes <kdienes@apple.com>
Thu, 7 Feb 2002 06:11:55 +0000 (06:11 +0000)
        * fork-inferior.c (fork_inferior): Add '!' to the list of
        characters that need to be quoted when building a string for the
        shell.  Quote '!' specifically with a backslash, since CSH chokes
        when trying to evaluate "str!str".

gdb/ChangeLog
gdb/fork-child.c

index fd70107d79798ad2d3f82034e4f002e7e766458c..9083fbf55ca4438342aee8aef2c6d5e3db52f3e8 100644 (file)
@@ -1,3 +1,10 @@
+2002-02-07  Klee Dienes  <klee@apple.com>
+
+       * fork-inferior.c (fork_inferior): Add '!' to the list of
+       characters that need to be quoted when building a string for the
+       shell.  Quote '!' specifically with a backslash, since CSH chokes
+       when trying to evaluate "str!str".
+       
 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * rdi-share/host.h: Only provide a typedef for bool if it is not
index 21e508939b6fb65076b514e3e80e030f43c0a97d..aacd53cac713c2db3174c7b19cc7adfafe58f0c2 100644 (file)
@@ -183,6 +183,7 @@ fork_inferior (char *exec_file_arg, char *allargs, char **env,
          switch (*p)
            {
            case '\'':
+           case '!':
            case '"':
            case '(':
            case ')':
@@ -214,6 +215,8 @@ fork_inferior (char *exec_file_arg, char *allargs, char **env,
            {
              if (*p == '\'')
                strcat (shell_command, "'\\''");
+             else if (*p == '!')
+               strcat (shell_command, "\\!");
              else
                strncat (shell_command, p, 1);
            }