| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hdsApp::PcEntScanChain | (hzString&,hdsFormdef*,hdbClass*,const hzChain&,) |
Declared in file: hzDissemino.h
Defined in file : hdsSystem.cpp
Function Logic:
Function body:
hzEcode hdsApp::PcEntScanChain (hzString& err, hdsFormdef* pFormdef, hdbClass* pHost, const hzChain& input)
{
_hzfunc("hdsApp::PcEntScanChain") ;
hzChain erep ;
chIter zi ;
hzString pcntEnt ;
hzString cerr ;
hdbBasetype peType ;
hzEcode rc = E_OK ;
for (zi = input ; !zi.eof() ;)
{
if (*zi == CHAR_PERCENT)
{
if (zi[1]== CHAR_PERCENT)
{ zi += 2; continue ; }
if (IsAlpha(zi[1])&& zi[2]== CHAR_COLON && IsAlpha(zi[3]))
{
if (AtPcEnt(pcntEnt, zi))
{
peType = PcEntTest(cerr, pFormdef, pHost, pcntEnt) ;
if (peType == BASETYPE_UNDEF)
{ rc = E_SYNTAX ; erep.Printf("(%s %s)", *pcntEnt, *cerr) ; }
else
{ zi += pcntEnt.Length() ; continue ; }
}
else
{
rc = E_SYNTAX ;
erep.Printf("(%c%c%c%c - malformed percent entity)", zi[0],zi[1],zi[2],zi[3]);
}
}
}
zi++ ;
}
err = erep ;
return rc ;
}