summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pcresearch.c2
-rw-r--r--tests/init.cfg6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/pcresearch.c b/src/pcresearch.c
index 6f016b68..1fd5bdec 100644
--- a/src/pcresearch.c
+++ b/src/pcresearch.c
@@ -214,7 +214,7 @@ Pexecute (char const *buf, size_t size, size_t *match_size,
options |= PCRE_NO_UTF8_CHECK;
int valid_bytes = validated - p;
- if (valid_bytes < 0)
+ if (valid_bytes <= 0)
{
e = pcre_exec (cre, extra, p, search_bytes, 0,
options, sub, NSUB);
diff --git a/tests/init.cfg b/tests/init.cfg
index 3e9ab038..882feb1c 100644
--- a/tests/init.cfg
+++ b/tests/init.cfg
@@ -47,7 +47,11 @@ require_timeout_()
require_pcre_()
{
- echo . | grep -P . 2>err || skip_ no PCRE support
+ echo . | grep -P . 2>err
+ echo . | grep -P . 2>err || {
+ test $? -eq 1 && fail_ PCRE available, but does not work.
+ skip_ no PCRE support
+ }
compare /dev/null err || fail_ PCRE available, but stderr not empty.
}