diff options
| author | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-06-27 21:07:50 +0200 |
|---|---|---|
| committer | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-06-27 21:08:53 +0200 |
| commit | 5337d33cc6e46a6eb281f2abb325b29c882a82b2 (patch) | |
| tree | c5110c4fa122f3fbbe4756543dd9921a0903594a /regtest_terex.sh | |
| parent | 413bad8c8848bc2e31ac0034c58130ac67f3b1f8 (diff) | |
| download | terex-5337d33cc6e46a6eb281f2abb325b29c882a82b2.tar.gz | |
fixup REG_ANCHORED: the checks have to be in shortest()
I put them into longest() as well, but it appears that both find() and cfind()
will always try shortest() first and should abort if that returns NULL.
Diffstat (limited to 'regtest_terex.sh')
| -rwxr-xr-x | regtest_terex.sh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/regtest_terex.sh b/regtest_terex.sh index 930867d..0f903d3 100755 --- a/regtest_terex.sh +++ b/regtest_terex.sh @@ -107,8 +107,9 @@ cat<<-EOF>$rgsrc //memset(&cre, '\0', sizeof(cre)); - while ((ch = getopt(argc, argv, "raA")) != -1) { + while ((ch = getopt(argc, argv, "iraA")) != -1) { switch (ch) { + case 'i': cflags |= REG_ICASE; break; case 'r': cflags |= REG_RAW; break; case 'a': cflags |= REG_BOSONLY; break; case 'A': eflags |= REG_ANCHORED; break; @@ -363,7 +364,8 @@ test "$resp" = "абвгд" && f_ok "$msg" || f_no "$msg" "$resp" #----------------------------------- resp=`$rgbin -A 0 'ABC' 'blablaABC' 2>&1` msg="Anchored search (failure)" -test -z "$resp" && f_ok "$msg" || f_no "$msg" "$resp" +if echo "$resp"|grep "failed to match">/dev/null; +then f_ok "$msg"; else f_no "$msg" "$resp"; fi resp=`$rgbin -A 1 '(ABC)' 'ABCblablaABC' 2>&1` msg="Anchored search (success)" test "$resp" = "ABC" && f_ok "$msg" || f_no "$msg" "$resp" |
