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