summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-12-21 19:18:07 +0200
committerArnold D. Robbins <arnold@skeeve.com>2013-12-21 19:18:07 +0200
commit6d3ff31ea2921361e1044356b2c7fce7da35ad72 (patch)
tree868958c17f854ad1ecf986cd87cbeb08bf991b09 /helpers
parent477cb50c4c5b9e13e745a8e1413d532e27383d66 (diff)
downloadgawk-6d3ff31ea2921361e1044356b2c7fce7da35ad72.tar.gz
Fixes in helpers/testdfa.c.
Diffstat (limited to 'helpers')
-rw-r--r--helpers/ChangeLog4
-rw-r--r--helpers/testdfa.c12
2 files changed, 12 insertions, 4 deletions
diff --git a/helpers/ChangeLog b/helpers/ChangeLog
index a43fcd0c..91d43464 100644
--- a/helpers/ChangeLog
+++ b/helpers/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-21 Arnold D. Robbins <arnold@skeeve.com>
+
+ * testdfa.c: Fix some bugs and compiler warnings.
+
2013-12-12 Arnold D. Robbins <arnold@skeeve.com>
* do.outline: New file.
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;