From d4fc3e1b8c34dea520fbce11b8dc30ca1245a482 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Sun, 16 Sep 2007 09:45:09 +0000 Subject: show "Current Transponder" entry in ChannelSelection -> Satellites CVS: ---------------------------------------------------------------------- --- lib/dvb/db.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib/dvb/db.cpp') diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index bb29bcca..f3d44821 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -1377,9 +1377,18 @@ RESULT parseExpression(ePtr &res, std::list::cons } res->m_string = val; - res->m_int = atoi(val.c_str()); -// res->m_channelid = eDVBChannelID(val); - + + if (res->m_type == eDVBChannelQuery::tChannelID) + { + int ns, tsid, onid; + if (sscanf(val.c_str(), "%08x%04x%04x", &ns, &tsid, &onid) == 3) + res->m_channelid = eDVBChannelID(eDVBNamespace(ns), eTransportStreamID(tsid), eOriginalNetworkID(onid)); + else + eDebug("couldn't parse channelid !! format should be hex NNNNNNNNTTTTOOOO (namespace, tsid, onid)"); + } + else + res->m_int = atoi(val.c_str()); + return 0; } -- cgit v1.2.3