From 1a5727137f5b5ff8aecd3ec5a162c198c8c0a5e7 Mon Sep 17 00:00:00 2001 From: jhurst Date: Tue, 21 Feb 2012 02:09:32 +0000 Subject: mega datetime patch --- src/Dict.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/Dict.cpp') diff --git a/src/Dict.cpp b/src/Dict.cpp index d50a836..74a7b4e 100755 --- a/src/Dict.cpp +++ b/src/Dict.cpp @@ -210,6 +210,7 @@ ASDCP::Dictionary::AddEntry(const MDDEntry& Entry, ui32_t index) m_md_lookup.insert(std::map::value_type(TmpUL, index)); m_md_rev_lookup.insert(std::map::value_type(index, TmpUL)); + m_md_sym_lookup.insert(std::map::value_type(Entry.name, index)); m_MDD_Table[index] = Entry; return result; @@ -274,7 +275,23 @@ ASDCP::Dictionary::FindUL(const byte_t* ul_buf) const } } - return &m_MDD_Table[(*i).second]; + return &m_MDD_Table[i->second]; +} + +// +const ASDCP::MDDEntry* +ASDCP::Dictionary::FindSymbol(const std::string& str) const +{ + assert(m_MDD_Table[0].name[0]); + std::map::const_iterator i = m_md_sym_lookup.find(str); + + if ( i == m_md_sym_lookup.end() ) + { + Kumu::DefaultLogSink().Warn("UL Dictionary: unknown symbol: %s\n", str.c_str()); + return 0; + } + + return &m_MDD_Table[i->second]; } // -- cgit v1.2.3