X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fkeyword.cc;h=b5f7947ada203e31550ee041a557f37f439b115c;hb=262598d458df6e8df4c93fc723be4549145e5b6b;hp=70c84e59e2a6bfc9719f08dd62d41a171ba51444;hpb=108cf0e8c08c8e15e2a800feb161cfad9057daa8;p=lilypond.git diff --git a/lily/keyword.cc b/lily/keyword.cc index 70c84e59e2..b5f7947ada 100644 --- a/lily/keyword.cc +++ b/lily/keyword.cc @@ -6,29 +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; }