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 ; }