diff --git a/Debug/DebStream.cc b/Debug/DebStream.cc index fb60ff75550663dae021a903aa65a4ceb7ebdad9..8565c29105fe8821f6ec9eecc5e6cbb9c160cd86 100644 --- a/Debug/DebStream.cc +++ b/Debug/DebStream.cc @@ -385,6 +385,12 @@ public: current_.append(&_c, 1); } + + void print_to_ostream(const char* const _s, std::ostream& os) + { + os << _s; + } + void print(const char* const _s, bool _fork = true) { if (_s != nullptr) @@ -398,9 +404,9 @@ public: if (_fork) { if (fork_to_cout()) - std::cout << _s; + print_to_ostream(_s, std::cout); if (fork_to_cerr()) - std::cerr << _s; + print_to_ostream(_s, std::cerr); } } } @@ -449,7 +455,15 @@ public: // fall through case Command::END_LF : if (is_html()) print_direct("</FONT>"); - line_break(); + line_break(); + + // line_break() does not fork to cout or cerr + // so do so explicitly. + if (fork_to_cout()) + std::cout << "\n"; + if (fork_to_cerr()) + std::cerr << "\n"; + break; } }