diff options
-rw-r--r-- | src/pcresearch.c | 2 | ||||
-rw-r--r-- | tests/init.cfg | 6 |
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. } |