* remote-udi.c (udi_create_inferior): Quote empty execfile argument.
authorJim Kingdon <jkingdon@engr.sgi.com>
Sat, 15 Jan 1994 04:28:18 +0000 (04:28 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sat, 15 Jan 1994 04:28:18 +0000 (04:28 +0000)
gdb/ChangeLog
gdb/remote-udi.c

index 89bece44fda25387daa6f51ccbab6ed7e86c3afa..8cdbbe32db213cf380841e7ca1e34adc04930afb 100644 (file)
@@ -1,5 +1,7 @@
 Fri Jan 14 21:55:39 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * remote-udi.c (udi_create_inferior): Quote empty execfile argument.
+
        * gdbserver/low-lynx.c: Include <sys/wait.h> not "/usr/include/wait.h".
 
 Fri Jan 14 14:17:06 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
index c51c8750526715f72fec5d82d466b854ae6e5dd7..0f667b3aab3c694e8491f6bc6eeac535496910fa 100644 (file)
@@ -150,7 +150,19 @@ udi_create_inferior (execfile, args, env)
 
   args1 = alloca (strlen(execfile) + strlen(args) + 2);
 
-  strcpy (args1, execfile);
+  if (execfile[0] == '\0')
+
+    /* It is empty.  We need to quote it somehow, or else the target
+       will think there is no argument being passed here.  According
+       to the UDI spec it is quoted "according to TIP OS rules" which
+       I guess means quoting it like the Unix shell should work
+       (sounds pretty bogus to me...).  In fact it doesn't work (with
+       isstip anyway), but passing in two quotes as the argument seems
+       like a reasonable enough behavior anyway (I guess).  */
+
+    strcpy (args1, "''");
+  else
+    strcpy (args1, execfile);
   strcat (args1, " ");
   strcat (args1, args);