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