X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FConsole%2FServer.cc;h=66564bb019487f2e28c5bbf1dc60de831f5ccb3c;hb=5443435c4c2b6e4386c5334b5b8358273f2bae93;hp=26a625fc2d655f96bb5706068ad13328ea262b16;hpb=2df3b9508714ca6ed45fed02cbd77de46a65be87;p=senf.git diff --git a/Utils/Console/Server.cc b/Utils/Console/Server.cc index 26a625f..66564bb 100644 --- a/Utils/Console/Server.cc +++ b/Utils/Console/Server.cc @@ -284,12 +284,6 @@ prefix_ void senf::console::Client::setNoninteractive() prefix_ std::string::size_type senf::console::Client::handleInput(std::string data, bool incremental) { - if (data.empty() && ! incremental) { - data = lastCommand_; - stream() << "repeat: " << data << std::endl; - } else - lastCommand_ = data; - std::string::size_type n (data.size()); try { @@ -336,6 +330,17 @@ prefix_ void senf::console::Client::v_write(senf::log::time_type timestamp, reader_->enablePrompt(); } +prefix_ unsigned senf::console::Client::getWidth(std::ostream & os, unsigned defaultWidth, + unsigned minWidth) +{ + unsigned rv (defaultWidth); + try { + rv = get(os).width(); + } + catch (std::bad_cast &) {} + return rv < minWidth ? defaultWidth : rv; +} + /////////////////////////////////////////////////////////////////////////// // senf::console::Client::SysBacktrace @@ -349,7 +354,7 @@ prefix_ void senf::console::Client::SysBacktrace::backtrace(std::ostream & os) { Client & client (Client::get(os)); if (client.backtrace().empty()) - os << "(no backtrace)"; + os << "(no backtrace)\n"; else os << client.backtrace(); }