* Changes from (or inspired by) AMD:
* remote-udi.c (udi_attach): Assignments to Space and Offset were switched, fix it. (udi_wait): Make error message (UDIGetStdout) match error. (udi_wait): Handle UDIStdinNeeded. * command.c [CANT_FORK]: Use system(). * utils.c (prompt_for_continue): Allow quit with 'q'.
This commit is contained in:
parent
2fd0e26cde
commit
87237c5250
@ -1,5 +1,13 @@
|
||||
Sat Apr 24 19:59:54 1993 Jim Kingdon (kingdon@cygnus.com)
|
||||
|
||||
* Changes from (or inspired by) AMD:
|
||||
* remote-udi.c (udi_attach): Assignments to Space and Offset were
|
||||
switched, fix it.
|
||||
(udi_wait): Make error message (UDIGetStdout) match error.
|
||||
(udi_wait): Handle UDIStdinNeeded.
|
||||
* command.c [CANT_FORK]: Use system().
|
||||
* utils.c (prompt_for_continue): Allow quit with 'q'.
|
||||
|
||||
* solib.c (solib_add): Don't call special_symbol_handling if there
|
||||
were errors in symbol_add_stub. Also set so->from_tty before
|
||||
calling symbol_add_stub.
|
||||
|
@ -1163,13 +1163,17 @@ cmd_show_list (list, from_tty, prefix)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CANT_FORK
|
||||
/* ARGSUSED */
|
||||
static void
|
||||
shell_escape (arg, from_tty)
|
||||
char *arg;
|
||||
int from_tty;
|
||||
{
|
||||
#ifdef CANT_FORK
|
||||
/* FIXME: what about errors (I don't know how GO32 system() handles
|
||||
them)? */
|
||||
system (arg);
|
||||
#else /* Can fork. */
|
||||
int rc, status, pid;
|
||||
char *p, *user_shell;
|
||||
|
||||
@ -1198,10 +1202,9 @@ shell_escape (arg, from_tty)
|
||||
;
|
||||
else
|
||||
error ("Fork failed");
|
||||
#endif /* Can fork. */
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CANT_FORK
|
||||
static void
|
||||
make_command (arg, from_tty)
|
||||
char *arg;
|
||||
@ -1220,7 +1223,6 @@ make_command (arg, from_tty)
|
||||
|
||||
shell_escape (p, from_tty);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
show_user_1 (c, stream)
|
||||
@ -1273,15 +1275,11 @@ show_user (args, from_tty)
|
||||
void
|
||||
_initialize_command ()
|
||||
{
|
||||
#ifndef CANT_FORK
|
||||
add_com ("shell", class_support, shell_escape,
|
||||
"Execute the rest of the line as a shell command. \n\
|
||||
With no arguments, run an inferior shell.");
|
||||
#endif
|
||||
#ifndef CANT_FORK
|
||||
add_com ("make", class_support, make_command,
|
||||
"Run the ``make'' program using the rest of the line as arguments.");
|
||||
#endif
|
||||
add_cmd ("user", no_class, show_user,
|
||||
"Show definitions of user defined commands.\n\
|
||||
Argument is the name of the user defined command.\n\
|
||||
|
@ -405,8 +405,8 @@ udi_attach (args, from_tty)
|
||||
printf ("Attaching to remote program %s...\n", prog_name);
|
||||
|
||||
UDIStop();
|
||||
From.Space = 11;
|
||||
From.Offset = UDI29KSpecialRegs;
|
||||
From.Space = UDI29KSpecialRegs;
|
||||
From.Offset = 11;
|
||||
if (err = UDIRead(From, &PC_adds, Count, Size, &CountDone, HostEndian))
|
||||
error ("UDIRead failed in udi_attach");
|
||||
printf ("Remote process is now halted, pc1 = 0x%x.\n", PC_adds);
|
||||
@ -494,7 +494,7 @@ udi_wait (status)
|
||||
{
|
||||
case UDIStdoutReady:
|
||||
if (UDIGetStdout (sbuf, (UDISizeT)SBUF_MAX, &CountDone))
|
||||
error ("UDIGetStdin() failed in udi_wait");
|
||||
error ("UDIGetStdout() failed in udi_wait");
|
||||
fwrite (sbuf, 1, CountDone, stdout);
|
||||
fflush(stdout);
|
||||
continue;
|
||||
@ -504,8 +504,9 @@ udi_wait (status)
|
||||
fflush(stderr);
|
||||
continue;
|
||||
case UDIStdinNeeded:
|
||||
printf("DEBUG: stdin requested ... continue\n");
|
||||
/* UDIPutStdin(sbuf, (UDISizeT)i, &CountDone); */
|
||||
scanf ("%s", sbuf);
|
||||
i = strlen (sbuf);
|
||||
UDIPutStdin (sbuf, (UDISizeT)i, &CountDone);
|
||||
continue;
|
||||
case UDIRunning:
|
||||
/* In spite of the fact that we told UDIWait to wait forever, it will
|
||||
|
Loading…
x
Reference in New Issue
Block a user