add test case

This commit is contained in:
yihaoDeng 2022-07-10 17:08:33 +08:00
parent e77931f160
commit bb760de1cf
3 changed files with 5 additions and 9 deletions

View File

@ -126,7 +126,6 @@ bool dfaBuilderCacheState(FstDfaBuilder *builder, FstSparseSet *set, uint32_t *r
for (int i = 0; i < sparSetLen(set); i++) {
int32_t ip;
if (false == sparSetGet(set, i, &ip)) continue;
Inst *inst = taosArrayGet(builder->dfa->insts, ip);

View File

@ -22,11 +22,8 @@ FstRegex *regexCreate(const char *str) {
if (regex == NULL) {
return NULL;
}
int32_t sz = (int32_t)strlen(str);
char *orig = taosMemoryCalloc(1, sz);
memcpy(orig, str, sz);
regex->orig = orig;
regex->orig = tstrdup(str);
// construct insts based on str
SArray *insts = taosArrayInit(256, sizeof(uint8_t));

View File

@ -52,7 +52,7 @@ bool sparSetAdd(FstSparseSet *ss, int32_t ip, int32_t *idx) {
if (ss == NULL) {
return false;
}
if (ip >= ss->cap) {
if (ip >= ss->cap || ip < 0) {
return false;
}
uint32_t i = ss->size;
@ -65,7 +65,7 @@ bool sparSetAdd(FstSparseSet *ss, int32_t ip, int32_t *idx) {
return true;
}
bool sparSetGet(FstSparseSet *ss, int32_t idx, int32_t *ip) {
if (idx >= ss->cap || idx >= ss->size) {
if (idx >= ss->cap || idx >= ss->size || idx < 0) {
return false;
}
int32_t val = ss->dense[idx];
@ -75,12 +75,12 @@ bool sparSetGet(FstSparseSet *ss, int32_t idx, int32_t *ip) {
return val == -1 ? false : true;
}
bool sparSetContains(FstSparseSet *ss, int32_t ip) {
if (ip >= ss->cap) {
if (ip >= ss->cap || ip < 0) {
return false;
}
int32_t i = ss->sparse[ip];
if (i < ss->cap && i < ss->size && ss->dense[i] == ip) {
if (i >= 0 && i < ss->cap && i < ss->size && ss->dense[i] == ip) {
return true;
} else {
return false;