From b9942df126ad09b752904c369074827fc199e6cd Mon Sep 17 00:00:00 2001 From: leslie Date: Sat, 1 Aug 2009 12:07:09 +0800 Subject: [PATCH] fix saving CA descr to ecm cache --- cam.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cam.c b/cam.c index 5907de2..5561e0e 100644 --- a/cam.c +++ b/cam.c @@ -598,7 +598,7 @@ bool cEcmData::Parse(const char *buf) char Name[64]; int nu=0, num; Name[0]=0; - if(sscanf(buf,"%d:%x:%x:%63[^:]:%x/%x:%x:%x/%x:%d/%d%n",&prgId,&source,&transponder,Name,&caId,&emmCaId,&provId,&ecm_pid,&ecm_table,&nu,&dataIdx,&num)>=9) { + if(sscanf(buf,"%d:%x:%x:%63[^:]:%x/%x:%x:%x/%x:%d/%d%n",&prgId,&source,&transponder,Name,&caId,&emmCaId,&provId,&ecm_pid,&ecm_table,&nu,&dataIdx,&num)>=11) { SetName(Name); const char *line=buf+num; if(nu>0 && *line++==':') { @@ -616,7 +616,8 @@ cString cEcmData::ToString(bool hide) char *str; if(caDescr) { str=AUTOARRAY(char,caDescrLen*2+16); - sprintf(str,":%d/%d:%s",caDescrLen,dataIdx,HexStr(str,caDescr,caDescrLen)); + int q=sprintf(str,":%d/%d:",caDescrLen,dataIdx); + HexStr(str+q,caDescr,caDescrLen); } else { str=AUTOARRAY(char,4); -- 2.39.5