| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hdsApp::PcEntScanStr | (hzString&,hdsFormdef*,hdbClass*,const hzString&,) |
Declared in file: hzDissemino.h
Defined in file : hdsSystem.cpp
Function Logic:
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 ;
}