static struct gdb_exception cli_interpreter_exec (void *data, const char *command_str) { struct gdb_exception result; /* APPLE LOCAL: We don't use old_stream. */ /* FIXME: cagney/2003-02-01: Need to const char *propogate safe_execute_command. */ char *str = strcpy((char *)alloca(strlen(command_str) + 1UL), command_str); /* APPLE_LOCAL begin cli */ /* We don't need old_stream because we actually change the interpreters when we do interpreter exec, then swap them back. This code assumes that the interpreter is still the one that is exec'ing in the cli interpreter, and we are just faking it up. */ /* Also, the FSF code forces cli_uiout here, but we want the person who set the interpreter to get the uiout right for that according to their lights. If you don't do that, then you can't share the cli_interpreter_exec between the console & console-quoted interpreters. */ result = safe_execute_command (uiout, str, 1); /* APPLE_LOCAL end cli */ return result; }
static struct gdb_exception cli_interpreter_exec (void *data, const char *command_str) { struct ui_file *old_stream; struct gdb_exception result; /* FIXME: cagney/2003-02-01: Need to const char *propogate safe_execute_command. */ char *str = strcpy (alloca (strlen (command_str) + 1), command_str); /* gdb_stdout could change between the time cli_uiout was initialized and now. Since we're probably using a different interpreter which has a new ui_file for gdb_stdout, use that one instead of the default. It is important that it gets reset everytime, since the user could set gdb to use a different interpreter. */ old_stream = cli_out_set_stream (cli_uiout, gdb_stdout); result = safe_execute_command (cli_uiout, str, 1); cli_out_set_stream (cli_uiout, old_stream); return result; }