Return TypeFunction nameArguments
hzEcodehdsApp::PcEntScanStr(hzString&,hdsFormdef*,hdbClass*,const hzString&,)

Declared in file: hzDissemino.h
Defined in file : hdsSystem.cpp

Function Logic:

0:START 1:*i; 2:*i==(char)37 3:i[1]==(char)37 4:i 5:IsAlpha(i[1])&&i[2]==(char)58&&IsAlpha(i[3]) 6:IsPcEnt(pcntEnt,i) 7:hdsApp::PcEntTest peType 8:peType==BASETYPE_UNDEF 9:rc hzChain::Printf 10:hzString::Length i 11:rc hzChain::Printf 12:items 13:err 14:Return rc

Function body:

hzEcode hdsApp::PcEntScanStr (hzString& err, hdsFormdef* pFormdef, hdbClass* pHost, const hzString& input)
{
   _hzfunc("hdsApp::PcEntScanStr") ;
   hzChain         erep ;
   const char*     i ;
   hzString        pcntEnt ;
   hzString        cerr ;
   hdbBasetype     peType ;
   hzEcode         rc = E_OK ;
   for (i = *input ; *i ;)
   {
       if (*i == CHAR_PERCENT)
       {
           if (i[1]== CHAR_PERCENT)
               { i += 2; continue ; }
           if (IsAlpha(i[1])&& i[2]== CHAR_COLON && IsAlpha(i[3]))
           {
               if (IsPcEnt(pcntEnt, i))
               {
                   peType = PcEntTest(cerr, pFormdef, pHost, pcntEnt) ;
                   if (peType == BASETYPE_UNDEF)
                       { rc = E_SYNTAX ; erep.Printf("(%s %s)", *pcntEnt, *cerr) ; }
                   else
                       { i += pcntEnt.Length() ; continue ; }
               }
               else
               {
                   rc = E_SYNTAX ;
                   erep.Printf("(%c%c%c%c - malformed percent entity)", i[0],i[1],i[2],i[3]);
               }
           }
       }
       i++ ;
   }
   err = erep ;
   return rc ;
}