X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FTraits.cc;h=f85d6f56883f8491fa265fae2db530fd0126a628;hb=1d058092bd771d52996416763b5d9cafadc2e087;hp=c1e1cbc671b9a3c142a36967a55aa507676576af;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Console/Traits.cc b/senf/Utils/Console/Traits.cc index c1e1cbc..f85d6f5 100644 --- a/senf/Utils/Console/Traits.cc +++ b/senf/Utils/Console/Traits.cc @@ -27,12 +27,27 @@ #include "Traits.ih" // Custom includes -#include "../../Utils/senfassert.hh" +#include //#include "Traits.mpp" #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// +prefix_ std::string senf::console::ArgumentTraits::str(std::string const & value) +{ + if (! value.empty() && boost::algorithm::all(value, CommandParser::isWordChar)) + return value; + else { + std::string rv (value); + for (std::string::size_type i (0); i < rv.size(); ++i) + if (rv[i] == '"' || rv[i] == '\\') + rv.insert(i++,"\\"); + rv.insert(0,"\""); + rv.push_back('"'); + return rv; + } +} + prefix_ long senf::console::detail::parseEnum(EnumTable const & table, ParseCommandInfo::TokensRange const & tokens) {