summaryrefslogtreecommitdiff
path: root/src/Dict.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2012-02-21 02:09:32 +0000
committerjhurst <>2012-02-21 02:09:32 +0000
commit1a5727137f5b5ff8aecd3ec5a162c198c8c0a5e7 (patch)
treec61a1e8ba29253e51a8ebe310db2e0fad217cd78 /src/Dict.cpp
parent80463afc197c90372d3f4c7890c6520f1040aedc (diff)
mega datetime patch
Diffstat (limited to 'src/Dict.cpp')
-rwxr-xr-xsrc/Dict.cpp19
1 files changed, 18 insertions, 1 deletions
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<UL, ui32_t>::value_type(TmpUL, index));
m_md_rev_lookup.insert(std::map<ui32_t, UL>::value_type(index, TmpUL));
+ m_md_sym_lookup.insert(std::map<std::string, ui32_t>::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<std::string, ui32_t>::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];
}
//