Change return type of ui_out redirect to void
All implementations of redirect/do_redirect in the ui_out subsystem always return 0 (success). We can therefore clean it up and make them return void. gdb/ChangeLog: * cli-out.c (cli_ui_out::do_redirect): Change return type to void. * cli-out.h (cli_ui_out::do_redirect): Likewise. * mi/mi-out.c (mi_ui_out::do_redirect): Likewise. * mi/mi-out.h (mi_ui_out::do_redirect): Likewise. * ui-out.c (ui_out::redirect): Likewise. * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise. * cli/cli-logging.c (set_logging_redirect): Update call site of ui_out::redirect. (handle_redirections): Likewise. * scm-ports.c (ioscm_with_output_to_port_worker): Likewise. * top.c (execute_command_to_string): Likewise. * utils.c (do_ui_out_redirect_pop): Likewise.
This commit is contained in:
parent
98461510d3
commit
7becfd03ba
11 changed files with 34 additions and 32 deletions
|
@ -1,3 +1,19 @@
|
||||||
|
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
|
||||||
|
|
||||||
|
* cli-out.c (cli_ui_out::do_redirect): Change return type to
|
||||||
|
void.
|
||||||
|
* cli-out.h (cli_ui_out::do_redirect): Likewise.
|
||||||
|
* mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
|
||||||
|
* mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
|
||||||
|
* ui-out.c (ui_out::redirect): Likewise.
|
||||||
|
* ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
|
||||||
|
* cli/cli-logging.c (set_logging_redirect): Update call site of
|
||||||
|
ui_out::redirect.
|
||||||
|
(handle_redirections): Likewise.
|
||||||
|
* scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
|
||||||
|
* top.c (execute_command_to_string): Likewise.
|
||||||
|
* utils.c (do_ui_out_redirect_pop): Likewise.
|
||||||
|
|
||||||
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
|
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
|
||||||
|
|
||||||
* stack.c (_initialize_stack): Update "frame" command help message.
|
* stack.c (_initialize_stack): Update "frame" command help message.
|
||||||
|
|
|
@ -227,15 +227,13 @@ cli_ui_out::do_flush ()
|
||||||
and make it therefore active. OUTSTREAM as NULL will pop the last pushed
|
and make it therefore active. OUTSTREAM as NULL will pop the last pushed
|
||||||
output stream; it is an internal error if it does not exist. */
|
output stream; it is an internal error if it does not exist. */
|
||||||
|
|
||||||
int
|
void
|
||||||
cli_ui_out::do_redirect (ui_file *outstream)
|
cli_ui_out::do_redirect (ui_file *outstream)
|
||||||
{
|
{
|
||||||
if (outstream != NULL)
|
if (outstream != NULL)
|
||||||
m_streams.push_back (outstream);
|
m_streams.push_back (outstream);
|
||||||
else
|
else
|
||||||
m_streams.pop_back ();
|
m_streams.pop_back ();
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* local functions */
|
/* local functions */
|
||||||
|
|
|
@ -60,7 +60,7 @@ protected:
|
||||||
ATTRIBUTE_PRINTF (2,0);
|
ATTRIBUTE_PRINTF (2,0);
|
||||||
virtual void do_wrap_hint (const char *identstring) override;
|
virtual void do_wrap_hint (const char *identstring) override;
|
||||||
virtual void do_flush () override;
|
virtual void do_flush () override;
|
||||||
virtual int do_redirect (struct ui_file * outstream) override;
|
virtual void do_redirect (struct ui_file *outstream) override;
|
||||||
|
|
||||||
bool suppress_output ()
|
bool suppress_output ()
|
||||||
{ return m_suppress_output; }
|
{ return m_suppress_output; }
|
||||||
|
|
|
@ -130,13 +130,11 @@ set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c)
|
||||||
|
|
||||||
/* There is a former output pushed on the ui_out_redirect stack. We
|
/* There is a former output pushed on the ui_out_redirect stack. We
|
||||||
want to replace it by OUTPUT so we must pop the former value
|
want to replace it by OUTPUT so we must pop the former value
|
||||||
first. We should either do both the pop and push or to do
|
first. Ideally, we should either do both the pop and push or do
|
||||||
neither of it. At least do not try to push OUTPUT if the pop
|
neither of them. */
|
||||||
already failed. */
|
|
||||||
|
|
||||||
if (uiout->redirect (NULL) < 0
|
uiout->redirect (NULL);
|
||||||
|| uiout->redirect (output) < 0)
|
uiout->redirect (output);
|
||||||
warning (_("Current output protocol does not support redirection"));
|
|
||||||
|
|
||||||
do_cleanups (cleanups);
|
do_cleanups (cleanups);
|
||||||
}
|
}
|
||||||
|
@ -246,10 +244,7 @@ handle_redirections (int from_tty)
|
||||||
|
|
||||||
/* Don't do the redirect for MI, it confuses MI's ui-out scheme. */
|
/* Don't do the redirect for MI, it confuses MI's ui-out scheme. */
|
||||||
if (!current_uiout->is_mi_like_p ())
|
if (!current_uiout->is_mi_like_p ())
|
||||||
{
|
current_uiout->redirect (output);
|
||||||
if (current_uiout->redirect (output) < 0)
|
|
||||||
warning (_("Current output protocol does not support redirection"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -531,10 +531,8 @@ ioscm_with_output_to_port_worker (SCM port, SCM thunk, enum oport oport,
|
||||||
gdb_stderr = port_file;
|
gdb_stderr = port_file;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (current_uiout->redirect (port_file) < 0)
|
current_uiout->redirect (port_file);
|
||||||
warning (_("Current output protocol does not support redirection"));
|
make_cleanup_ui_out_redirect_pop (current_uiout);
|
||||||
else
|
|
||||||
make_cleanup_ui_out_redirect_pop (current_uiout);
|
|
||||||
|
|
||||||
gdb_stdout = port_file;
|
gdb_stdout = port_file;
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,15 +170,13 @@ mi_ui_out::do_flush ()
|
||||||
gdb_flush (m_streams.back ());
|
gdb_flush (m_streams.back ());
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
void
|
||||||
mi_ui_out::do_redirect (ui_file *outstream)
|
mi_ui_out::do_redirect (ui_file *outstream)
|
||||||
{
|
{
|
||||||
if (outstream != NULL)
|
if (outstream != NULL)
|
||||||
m_streams.push_back (outstream);
|
m_streams.push_back (outstream);
|
||||||
else
|
else
|
||||||
m_streams.pop_back ();
|
m_streams.pop_back ();
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -67,7 +67,7 @@ protected:
|
||||||
ATTRIBUTE_PRINTF (2,0);
|
ATTRIBUTE_PRINTF (2,0);
|
||||||
virtual void do_wrap_hint (const char *identstring) override;
|
virtual void do_wrap_hint (const char *identstring) override;
|
||||||
virtual void do_flush () override;
|
virtual void do_flush () override;
|
||||||
virtual int do_redirect (struct ui_file * outstream) override;
|
virtual void do_redirect (struct ui_file *outstream) override;
|
||||||
|
|
||||||
virtual bool do_is_mi_like_p () override
|
virtual bool do_is_mi_like_p () override
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
|
@ -706,10 +706,8 @@ execute_command_to_string (char *p, int from_tty)
|
||||||
|
|
||||||
make_cleanup_ui_file_delete (str_file);
|
make_cleanup_ui_file_delete (str_file);
|
||||||
|
|
||||||
if (current_uiout->redirect (str_file) < 0)
|
current_uiout->redirect (str_file);
|
||||||
warning (_("Current output protocol does not support redirection"));
|
make_cleanup_ui_out_redirect_pop (current_uiout);
|
||||||
else
|
|
||||||
make_cleanup_ui_out_redirect_pop (current_uiout);
|
|
||||||
|
|
||||||
scoped_restore save_stdout
|
scoped_restore save_stdout
|
||||||
= make_scoped_restore (&gdb_stdout, str_file);
|
= make_scoped_restore (&gdb_stdout, str_file);
|
||||||
|
|
|
@ -619,10 +619,10 @@ ui_out::flush ()
|
||||||
do_flush ();
|
do_flush ();
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
void
|
||||||
ui_out::redirect (ui_file *outstream)
|
ui_out::redirect (ui_file *outstream)
|
||||||
{
|
{
|
||||||
return do_redirect (outstream);
|
do_redirect (outstream);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Test the flags against the mask given. */
|
/* Test the flags against the mask given. */
|
||||||
|
|
|
@ -121,7 +121,7 @@ class ui_out
|
||||||
void flush ();
|
void flush ();
|
||||||
|
|
||||||
/* Redirect the output of a ui_out object temporarily. */
|
/* Redirect the output of a ui_out object temporarily. */
|
||||||
int redirect (ui_file *outstream);
|
void redirect (ui_file *outstream);
|
||||||
|
|
||||||
ui_out_flags test_flags (ui_out_flags mask);
|
ui_out_flags test_flags (ui_out_flags mask);
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ class ui_out
|
||||||
ATTRIBUTE_PRINTF (2,0) = 0;
|
ATTRIBUTE_PRINTF (2,0) = 0;
|
||||||
virtual void do_wrap_hint (const char *identstring) = 0;
|
virtual void do_wrap_hint (const char *identstring) = 0;
|
||||||
virtual void do_flush () = 0;
|
virtual void do_flush () = 0;
|
||||||
virtual int do_redirect (struct ui_file * outstream) = 0;
|
virtual void do_redirect (struct ui_file *outstream) = 0;
|
||||||
|
|
||||||
/* Set as not MI-like by default. It is overridden in subclasses if
|
/* Set as not MI-like by default. It is overridden in subclasses if
|
||||||
necessary. */
|
necessary. */
|
||||||
|
|
|
@ -218,8 +218,7 @@ do_ui_out_redirect_pop (void *arg)
|
||||||
{
|
{
|
||||||
struct ui_out *uiout = (struct ui_out *) arg;
|
struct ui_out *uiout = (struct ui_out *) arg;
|
||||||
|
|
||||||
if (uiout->redirect (NULL) < 0)
|
uiout->redirect (NULL);
|
||||||
warning (_("Cannot restore redirection of the current output protocol"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return a new cleanup that pops the last redirection by ui_out_redirect
|
/* Return a new cleanup that pops the last redirection by ui_out_redirect
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue