| Return Type | Function name | Arguments |
|---|---|---|
| void | hdsCond::Generate | (hzChain&,hzHttpEvent*,unsigned int&,) |
Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp
Function Logic:
Function body:
void hdsCond::Generate (hzChain& C, hzHttpEvent* pE, unsigned int& nLine)
{
_hzfunc("hdsCond::Generate") ;
hzPair pa ;
hdsVE* pVE ;
hdsInfo* pInfo ;
hzString nam ;
hzString val ;
int32_t aLo ;
int32_t aHi ;
int32_t nA ;
bool bPassed ;
bPassed = true ;
if (pE)
{
if (m_nAttrs)
{
pInfo = (hdsInfo*) pE->Session() ;
if (pInfo)
{
aLo = m_pApp->m_VE_attrs.First(pVE->m_VID) ;
if (aLo >&eq; 0)
{
aHi = m_pApp->m_VE_attrs.Last(pVE->m_VID) ;
for (nA = aLo ; nA <&eq; aHi ; nA++)
{
pa = m_pApp->m_VE_attrs.GetObj(nA) ;
if (*pa.value)
val = m_pApp->ConvertText(*pa.value, pE) ;
nam = *pa.name ;
if ((nam == "isnull" && val) || (nam == "exists" && !val))
{ bPassed = false ; break ; }
}
}
}
}
}
if (bPassed)
{
for (pVE = Children() ; pVE ; pVE = pVE->Sibling())
pVE->Generate(C, pE, nLine) ;
}
}