X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FTermlib%2FTerminfo.cc;h=16fbc62e69db385d9253218d7221e9430f1f3b4d;hb=394ced7000128fef7e753caea1deda8d55dec8e2;hp=44bdb6f80c1b56b5c51f06a4a9e48a0ea40bbbe3;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Termlib/Terminfo.cc b/senf/Utils/Termlib/Terminfo.cc index 44bdb6f..16fbc62 100644 --- a/senf/Utils/Termlib/Terminfo.cc +++ b/senf/Utils/Termlib/Terminfo.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2009 +// Copyright (C) 2009 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -37,7 +37,7 @@ //#include "Terminfo.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// char const * const senf::term::Terminfo::properties::BooleanNames [] = { "AutoLeftMargin", "AutoRightMargin", "NoEscCtlc", "CeolStandoutGlitch", "EatNewlineGlitch", @@ -126,7 +126,7 @@ char const * const senf::term::Terminfo::properties::StringNames[] = { "AcsUlcorner", "AcsLlcorner", "AcsUrcorner", "AcsLrcorner", "AcsLtee", "AcsRtee", "AcsBtee", "AcsTtee", "AcsHline", "AcsVline", "AcsPlus", "MemoryLock", "MemoryUnlock", "BoxChars1" }; -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::Terminfo prefix_ senf::term::Terminfo::Terminfo() @@ -194,13 +194,13 @@ namespace { { std::vector stack; - void push(senf::term::Terminfo::number_t v) + void push(senf::term::Terminfo::number_t v) { stack.push_back(v); } - senf::term::Terminfo::number_t pop() - { + senf::term::Terminfo::number_t pop() + { if (stack.empty()) return 0; else { @@ -282,11 +282,11 @@ prefix_ std::string senf::term::Terminfo::formatString(properties::String p, case '~': stack.push(~stack.pop()); break; case 't': bCondValue = stack.pop(); case 'e': if ((bCondValue = !bCondValue)) // this also supports elsif - --(i = prgstr.begin() + std::min (prgstr.find ("%e", i-prgstr.begin()), + --(i = prgstr.begin() + std::min (prgstr.find ("%e", i-prgstr.begin()), prgstr.find ("%;", i-prgstr.begin()))); case '?': case ';': break; - case 'p': + case 'p': switch (*++i) { case '1': stack.push(arg1); break; case '2': stack.push(arg2); break; @@ -338,7 +338,7 @@ prefix_ std::string senf::term::Terminfo::formatString(properties::String p, NumberVec::const_iterator i (numbers_.begin()); NumberVec::const_iterator const i_end (numbers_.end()); for (; i != i_end; ++i, ++n) - if (*i != NoValue + if (*i != NoValue && n < sizeof(properties::NumericNames)/sizeof(properties::NumericNames[0])) os << " " << properties::NumericNames[n] << " = " << *i << "\n"; } @@ -424,7 +424,7 @@ prefix_ void senf::term::Terminfo::load(std::istream & is) } if (booleans_.size() & 1) is.ignore(1u); - + numbers_.resize(h.nNumbers); for (NumberVec::iterator i (numbers_.begin()); i != numbers_.end(); ++i) { number_t v; @@ -442,7 +442,7 @@ prefix_ void senf::term::Terminfo::load(std::istream & is) if (!is) throw InvalidTerminfoException(); *i = v; } - + stringPool_.resize(h.stringPoolSz); is.read(&(stringPool_[0]), stringPool_.size()); if (!is) throw InvalidTerminfoException(); @@ -456,7 +456,7 @@ prefix_ void senf::term::Terminfo::load(std::istream & is) *j = 0; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::term::KeyParser char const * const senf::term::KeyParser::KeyNames[] = { @@ -561,7 +561,7 @@ senf::term::KeyParser::lookup(std::string const & key) if (key.empty()) return std::make_pair(KeyCode(0), 0); - // There are several cases: + // There are several cases: // a) 'key' is an incomplete key sequence. In this case, 'key' will precede all completions in // the key table. The first possible completion is found by 'upper_bound' // b) 'key' is a complete key sequence. This is the key sequence *preceding* the 'upper_bound' @@ -605,7 +605,7 @@ prefix_ void senf::term::KeyParser::dump(std::ostream & os) } } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "Terminfo.mpp"