ui-out question

Andrew Cagney ac131313@redhat.com
Sun Jun 1 17:42:00 GMT 2003


> I'm seeing that much of the generated text in gdb is using ui-out routines
> rather that printf_unfiltered, etc.  Is this the 'state of the art' that
> should be used at all times?  That is, should I be converting my output
> routines to use that?

Code should use fprintf_*, or ui_out*.  Which is used is a judgment 
call.  If a routine is just pumping info out to the console than 
fprintf_* are fine.  If the intent is to build up something for an mi 
operation then the ui_out* is best.

> The question that arises from that is the whole 'from_tty' argument that
> gets passed around everywhere.  Would it make more sense, if we're using the
> ui-out routines anyway, to just let them make the decision about whether or
> not to display stuff?  Or am I misreading the purpose of from_tty.  If
> false, does it mean, "Do NO output", or does it mean, "Be less verbose."?

I _think_ from_tty is disabled when --batch (look for "batch" in 
main.c).  It's effect is to modify (supress) the CLI output when in 
batch mode.

> I'm thinking that the from_tty might be useful for functions that want to
> silently call other functions regardless of the overall setting.  Something
> like ui_out_push_output_state(0), ui_out_pop_output_state() would work for
> temporarily shutting down output in this case which I believe is somewhat
> rare.

It could.  Do you have more details of the problem at hand.

Andrew




More information about the Gdb mailing list