X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fkeyword.cc;h=b5f7947ada203e31550ee041a557f37f439b115c;hb=4d405ef96a8a62771d7d9a283ff5369a772e89d8;hp=378ad4e1683cfc9057b185d5647ef153faace639;hpb=58bcc84c9480dae1b21bc24d8396b91fe19e0131;p=lilypond.git diff --git a/lily/keyword.cc b/lily/keyword.cc index 378ad4e168..b5f7947ada 100644 --- a/lily/keyword.cc +++ b/lily/keyword.cc @@ -6,31 +6,29 @@ #include #include +using namespace std; /* for qsort */ -int tabcmp (Keyword_ent const &p1, Keyword_ent const &p2) +bool tab_less (Keyword_ent const &p1, Keyword_ent const &p2) { - return strcmp (p1.name_, p2.name_); + return strcmp (p1.name_, p2.name_) < 0; } Keyword_table::Keyword_table (Keyword_ent *tab) { while (tab->name_) - { - table_.push (*tab++); - } + table_.push_back (*tab++); - table_.sort (tabcmp); + vector_sort (table_, tab_less); } -int +vsize Keyword_table::lookup (char const *s) const { Keyword_ent e; e.name_ = s; - int idx = binary_search (table_, e, tabcmp); - if (idx >= 0) + vsize idx = binary_search (table_, e, tab_less); + if (idx != VPOS) return table_[idx].tokcode_; - else - return -1; + return VPOS; }