I think instead of a std::vector, what I meant was just use > a single string_file. > > The caller can make it, using something like: > > string_file file (gdb_stderr->can_emit_style_escape ()); > > Alexandra> + string_file warnings (true); > > ... since I think 'true' isn't always correct. > When is it not true? > > Alexandra> + warnings.printf ("\"%ps\":separate debug info file has > no debug info", > Alexandra> + styled_string (file_name_style.style (), > Alexandra> + bfd_get_filename > (abfd.get ()))); > > Then this printf can either add a 'warning:' prefix like warning() does, > or we can add an overload of "warning" that takes a ui_file as its first > parameter. > So you would prefer me to use a single string_file instead of a vector of those. That means I'll have just a single string and I'll be appending each new warning to it? I used a vector because I don't know how to easily split the warnings when printing them. Do you mean I should add an overload of a "warning" that would be capable of splitting strings? But why is such a solution better then simply using a vector of string_file? Thank you for the review, Alexandra