* cli/cli-logging.c: New file.
	* cli-out.c (struct ui_out_data): Add original_stream.
	(cli_redirect): New function.
	(cli_ui_out_impl): Add cli_redirect.
	(cli_out_new): Initialize original_stream.
	* ui-out.c (default_ui_out_impl): Add NULL for redirect member.
	(uo_redirect, ui_out_redirect): New.
	* ui-out.h (struct ui_out_impl): Add redirect member.
	(redirect_ftype): New.
	(ui_out_redirect): Add prototype.
	* Makefile.in: Add rules for cli-logging.c.
	* NEWS: Mention "set logging".
mi/
	* mi-out.c (mi_ui_out_impl): Add NULL for redirect member.
tui/
	* tui-out.c (tui_ui_out_impl): Add NULL for redirect member.
doc/
	* gdb.texinfo (Logging output): New chapter.
This commit is contained in:
Daniel Jacobowitz
2003-06-28 16:19:07 +00:00
parent 1579bae1cd
commit 0fac0b4199
13 changed files with 316 additions and 1 deletions

View File

@@ -206,6 +206,7 @@ struct ui_out_impl default_ui_out_impl =
default_message,
default_wrap_hint,
default_flush,
NULL,
0, /* Does not need MI hacks. */
};
@@ -254,6 +255,7 @@ static void uo_message (struct ui_out *uiout, int verbosity,
const char *format, va_list args);
static void uo_wrap_hint (struct ui_out *uiout, char *identstring);
static void uo_flush (struct ui_out *uiout);
static int uo_redirect (struct ui_out *uiout, struct ui_file *outstream);
/* Prototypes for local functions */
@@ -638,6 +640,12 @@ ui_out_flush (struct ui_out *uiout)
uo_flush (uiout);
}
int
ui_out_redirect (struct ui_out *uiout, struct ui_file *outstream)
{
return uo_redirect (uiout, outstream);
}
/* set the flags specified by the mask given */
int
ui_out_set_flags (struct ui_out *uiout, int mask)
@@ -981,6 +989,15 @@ uo_flush (struct ui_out *uiout)
uiout->impl->flush (uiout);
}
int
uo_redirect (struct ui_out *uiout, struct ui_file *outstream)
{
if (!uiout->impl->redirect)
return -1;
uiout->impl->redirect (uiout, outstream);
return 0;
}
/* local functions */
/* list of column headers manipulation routines */