Return Type | Function name | Arguments |
---|---|---|
bool | FormCheckCstr | (const char*,const char*,) |
Declared in file: hzTextproc.h
Defined in file : hzRegex.cpp
Function Logic:
Function body:
bool FormCheckCstr (const char* cpTest, const char* cpCtrl) { _hzfunc(__func__) ; const char* c ; const char* s ; uint32_t nParts ; uint32_t nChars ; uint32_t curPart ; bool bMatch ; if (!cpCtrl || !cpCtrl[0]) return true ; if (!cpTest || !cpTest[0]) return false ; for (c = cpCtrl ; *c ;) { if (*c == CHAR_ASTERISK) { nParts++ ; for (; *c == CHAR_ASTERISK ; c++) ; } else if (*c == CHAR_SQOPEN) { if (memcmp(c, "[0-9]", 5)) { c += 5; nChars++ ; continue ; } if (memcmp(c, "[a-z]", 5)) { c += 5; nChars++ ; continue ; } if (memcmp(c, "[A-Z]", 5)) { c += 5; nChars++ ; continue ; } } else { c++ ; nChars++ ; } } for (curPart = 0,c = cpCtrl, s = cpTest ; *c && *s ;) { bMatch = _checkformpart(&s, &c) ; if (!curPart && !bMatch) return false ; if (!bMatch) s++ ; else { if (*c == CHAR_ASTERISK) { curPart++ ; for (; *c == CHAR_ASTERISK ; c++) ; } } } if (*c == 0&& *s == 0) return true ; return false ; }