| Return Type | Function name | Arguments |
|---|---|---|
| unsigned int | FormCheckChain | (hzChain::Iter&,const char*,) |
Declared in file: hzTextproc.h
Defined in file : hzRegex.cpp
Function Logic:
Function body:
unsigned int FormCheckChain (hzChain::Iter& ci, const char* cpCtrl)
{
_hzfunc(__func__) ;
chIter z ;
const char* c ;
uint32_t len = 0;
if (!cpCtrl || !cpCtrl[0])
return true ;
if (ci.eof())
return false ;
for (c = cpCtrl, z = ci ; *c && !z.eof() ;)
{
if (*c == CHAR_QUERY)
{ c++ ; len++ ; z++ ; continue ; }
if (*c == CHAR_SQOPEN)
{
if (memcmp(c, "[0-9]", 5)== 0&& *z >&eq; ''0''&&*z <&eq; ''9''){c += 5; len++ ; z++ ; continue ; }
if (memcmp(c, "[a-z]", 5)== 0&& *z >&eq; ''a''&&*z <&eq; ''z''){c += 5; len++ ; z++ ; continue ; }
if (memcmp(c, "[A-Z]", 5)== 0&& *z >&eq; ''A''&&*z <&eq; ''Z''){c += 5; len++ ; z++ ; continue ; }
}
if (*c == CHAR_ASTERISK)
{
for (; *c == CHAR_ASTERISK ; c++) ;
for (; !z.eof() && *z != *c ; len++, z++) ;
continue ;
}
if (*c == *z)
{ c++ ; len++ ; z++ ; continue ; }
break ;
}
if (*c == 0)
return len ;
return 0;
}