aboutsummaryrefslogtreecommitdiffstats
path: root/helpers/testdfa.c
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/testdfa.c')
-rw-r--r--helpers/testdfa.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/helpers/testdfa.c b/helpers/testdfa.c
index c644fb04..813acaab 100644
--- a/helpers/testdfa.c
+++ b/helpers/testdfa.c
@@ -76,7 +76,6 @@ int main(int argc, char **argv)
size_t len;
const char *pattern;
const char *rerr;
- int infd;
char *data;
reg_syntax_t dfa_syn;
bool ignorecase = false;
@@ -180,7 +179,7 @@ int main(int argc, char **argv)
/* run the regex matcher */
ret = re_search(& pat, data, len, 0, len, NULL);
- printf("re_search returned %d (%s)\n", ret, (ret != 0) ? "true" : "false");
+ printf("re_search returned position %d (%s)\n", ret, (ret >= 0) ? "true" : "false");
/* run the dfa matcher */
/*
@@ -202,6 +201,8 @@ int main(int argc, char **argv)
free(regs.end);
dfafree(dfareg);
free(dfareg);
+
+ return 0;
}
/* genflags2str --- general routine to convert a flag value to a string */
@@ -366,12 +367,15 @@ setup_pattern(const char *pattern, size_t len)
{
size_t is_multibyte = 0;
int c, c2;
- size_t buflen;
+ size_t buflen = 0;
mbstate_t mbs;
bool has_anchor = false;
- char *buf, *dest;
+ char *buf = NULL;
+ char *dest;
const char *src, *end;
+ memset(& mbs, 0, sizeof(mbs));
+
src = pattern;
end = pattern + len;