diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | build-aux/ChangeLog | 4 | ||||
-rwxr-xr-x | build-aux/config.guess | 8 | ||||
-rwxr-xr-x | build-aux/config.rpath | 2 | ||||
-rwxr-xr-x | build-aux/config.sub | 10 | ||||
-rw-r--r-- | builtin.c | 60 | ||||
-rw-r--r-- | io.c | 2 | ||||
-rw-r--r-- | pc/ChangeLog | 4 | ||||
-rw-r--r-- | pc/Makefile.tst | 17 | ||||
-rw-r--r-- | test/ChangeLog | 10 | ||||
-rw-r--r-- | test/Makefile.am | 12 | ||||
-rw-r--r-- | test/Makefile.in | 22 | ||||
-rw-r--r-- | test/Maketests | 10 | ||||
-rw-r--r-- | test/modifiers.ok | 12 | ||||
-rwxr-xr-x | test/modifiers.sh | 8 | ||||
-rw-r--r-- | test/rsnullre.awk | 5 | ||||
-rw-r--r-- | test/rsnullre.in | 1 | ||||
-rw-r--r-- | test/rsnullre.ok | 3 |
18 files changed, 142 insertions, 62 deletions
@@ -1,3 +1,15 @@ +2021-01-07 Arnold D. Robbins <arnold@skeeve.com> + + * builtin.c (format_tree): Generalize handling of invalid + format modifiers. Add support for three more letters. Thanks to + Arkadiusz Drabczyk <arkadiusz@drabczyk.org> for the report. + + Unrelated: + + * io.c (rsnullscan): Adjust loop test to get to end of string + when re match is null string. Thanks to Ed Morton + <mortoneccc@comcast.net> for the report. + 2020-12-26 Arnold D. Robbins <arnold@skeeve.com> * NEWS: Updated. @@ -387,7 +399,7 @@ 2020-06-08 Arnold D. Robbins <arnold@skeeve.com> * awkgram.y: Fix `print $"2"' case. Thanks to Ed Morton - Morton <mortoneccc@comcast.net> for the report. + <mortoneccc@comcast.net> for the report. Unrelated: diff --git a/build-aux/ChangeLog b/build-aux/ChangeLog index 9c6e6253..0ef7838e 100644 --- a/build-aux/ChangeLog +++ b/build-aux/ChangeLog @@ -1,3 +1,7 @@ +2021-01-07 Arnold D. Robbins <arnold@skeeve.com> + + * config.guess, config.rpath, config.sub: Updated from GNULIB. + 2020-12-30 Arnold D. Robbins <arnold@skeeve.com> * config.guess, config.sub: Updated from GNULIB. diff --git a/build-aux/config.guess b/build-aux/config.guess index 7f748177..f7727026 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-12-22' +timestamp='2021-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -1087,7 +1087,7 @@ EOF ppcle:Linux:*:*) echo powerpcle-unknown-linux-"$LIBC" exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) diff --git a/build-aux/config.rpath b/build-aux/config.rpath index 24be79cf..69988c5b 100755 --- a/build-aux/config.rpath +++ b/build-aux/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2020 Free Software Foundation, Inc. +# Copyright 1996-2021 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # diff --git a/build-aux/config.sub b/build-aux/config.sub index 90bb8aed..b0f84923 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-12-22' +timestamp='2021-01-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -1230,7 +1230,7 @@ case $cpu-$vendor in | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | pru \ | pyramid \ - | riscv | riscv32 | riscv64 \ + | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ | rl78 | romp | rs6000 | rx \ | s390 | s390x \ | score \ @@ -1687,7 +1687,7 @@ case $os in musl* | newlib* | uclibc*) ;; # Likewise for "kernel-libc" - eabi | eabihf | gnueabi | gnueabihf) + eabi* | gnueabi*) ;; # Now accept the basic system types. # The portable systems comes first. @@ -693,7 +693,7 @@ format_tree( NODE *arg; long fw, prec, argnum; bool used_dollar; - bool lj, alt, big_flag, bigbig_flag, small_flag, have_prec, need_format; + bool lj, alt, have_prec, need_format; long *cur = NULL; uintmax_t uval; bool sgn; @@ -735,6 +735,11 @@ format_tree( static const char zero_string[] = "0"; static const char lchbuf[] = "0123456789abcdef"; static const char Uchbuf[] = "0123456789ABCDEF"; + static const char bad_modifiers[] = "hjlLtz"; + static bool warned[sizeof(bad_modifiers)-1]; // auto-init to zero + + bool modifier_seen[sizeof(bad_modifiers)-1]; +#define modifier_index(c) (strchr(bad_modifiers, c) - bad_modifiers) #define INITIAL_OUT_SIZE 64 emalloc(obuf, char *, INITIAL_OUT_SIZE, "format_tree"); @@ -830,7 +835,8 @@ format_tree( #endif fmt_type = MP_NONE; - lj = alt = big_flag = bigbig_flag = small_flag = false; + lj = alt = false; + memset(modifier_seen, 0, sizeof(modifier_seen)); magic_posix_flag = false; fill = sp; cp = cend; @@ -1014,57 +1020,29 @@ check_pos: #else goto retry; #endif + case 'h': + case 'j': case 'l': - if (big_flag) - break; - else { - static bool warned = false; - - if (do_lint && ! warned) { - lintwarn(_("`l' is meaningless in awk formats; ignored")); - warned = true; - } - if (do_posix) { - msg(_("fatal: `l' is not permitted in POSIX awk formats")); - goto out; - } - } - big_flag = true; - goto retry; case 'L': - if (bigbig_flag) + case 't': + case 'z': + if (modifier_seen[modifier_index(cs1)]) break; else { - static bool warned = false; + int ind = modifier_index(cs1); - if (do_lint && ! warned) { - lintwarn(_("`L' is meaningless in awk formats; ignored")); - warned = true; + if (do_lint && ! warned[ind]) { + lintwarn(_("`%c' is meaningless in awk formats; ignored"), cs1); + warned[ind] = true; } if (do_posix) { - msg(_("fatal: `L' is not permitted in POSIX awk formats")); + msg(_("fatal: `%c' is not permitted in POSIX awk formats"), cs1); goto out; } } - bigbig_flag = true; + modifier_seen[modifier_index(cs1)] = true; goto retry; - case 'h': - if (small_flag) - break; - else { - static bool warned = false; - if (do_lint && ! warned) { - lintwarn(_("`h' is meaningless in awk formats; ignored")); - warned = true; - } - if (do_posix) { - msg(_("fatal: `h' is not permitted in POSIX awk formats")); - goto out; - } - } - small_flag = true; - goto retry; case 'P': if (magic_posix_flag) break; @@ -3702,7 +3702,7 @@ again: * If still room in buffer, skip over null match * and restart search. Otherwise, return. */ - if (bp + iop->scanoff < iop->dataend) { + if (bp + iop->scanoff <= iop->dataend) { bp += iop->scanoff; goto again; } diff --git a/pc/ChangeLog b/pc/ChangeLog index c954002e..af2d2e66 100644 --- a/pc/ChangeLog +++ b/pc/ChangeLog @@ -1,3 +1,7 @@ +2021-01-07 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.tst: Rebuilt. + 2020-12-26 Arnold D. Robbins <arnold@skeeve.com> * Makefile.tst: Rebuilt. diff --git a/pc/Makefile.tst b/pc/Makefile.tst index 890c2ff0..5dbfb658 100644 --- a/pc/Makefile.tst +++ b/pc/Makefile.tst @@ -172,7 +172,7 @@ BASIC_TESTS = \ printf1 printfchar prmarscl prmreuse prt1eval prtoeval \ rand randtest range1 range2 readbuf rebrackloc rebt8b1 rebuild redfilnm regeq \ regexpbrack regexpbrack2 regexprange regrange reindops reparse resplit \ - rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnulw \ + rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnullre rsnulw \ rstest1 rstest2 rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin setrec0 setrec1 \ sigpipe1 sortempty sortglos spacere splitargv splitarr \ @@ -206,7 +206,8 @@ GAWK_EXT_TESTS = \ indirectbuiltin indirectcall indirectcall2 inf-nan-torture \ intarray iolint isarrayunset \ lint lintexp lintindex lintint lintlength lintplus lintold lintset lintwarn \ - manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ + manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime \ + modifiers muldimposix \ nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ @@ -288,7 +289,7 @@ NEED_SANDBOX = sandbox1 NEED_TRADITIONAL = litoct tradanch rscompat # Lists of tests that run a shell script -RUN_SHELL = exit fflush localenl next randtest rtlen rtlen01 +RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01 # List of the tests which fail with EXIT CODE 1 FAIL_CODE1 = \ @@ -2208,6 +2209,11 @@ rsnul1nl: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +rsnullre: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + rsnulw: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2981,6 +2987,11 @@ mktime: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +modifiers: + @echo $@ + @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + muldimposix: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/ChangeLog b/test/ChangeLog index 7d373146..456af38a 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,13 @@ +2021-01-07 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (EXTRA_DIST): modifiers, new test. + * modifiers.sh, modifiers.ok: New files. + + Unrelated: + + * Makefile.am (EXTRA_DIST): rsnullre, new test. + * rsnullre.awk, rsnullre.in, rsnullre.ok: New files. + 2020-12-26 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (EXTRA_DIST): fpat9, new test. diff --git a/test/Makefile.am b/test/Makefile.am index 2b1f1416..09efe0eb 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -661,6 +661,8 @@ EXTRA_DIST = \ manglprm.ok \ manyfiles.awk \ manyfiles.ok \ + modifiers.sh \ + modifiers.ok \ muldimposix.awk \ muldimposix.ok \ match1.awk \ @@ -1098,6 +1100,9 @@ EXTRA_DIST = \ rsnul1nl.ok \ rsnulbig.ok \ rsnulbig2.ok \ + rsnullre.awk \ + rsnullre.in \ + rsnullre.ok \ rsnulw.awk \ rsnulw.in \ rsnulw.ok \ @@ -1402,7 +1407,7 @@ BASIC_TESTS = \ printf1 printfchar prmarscl prmreuse prt1eval prtoeval \ rand randtest range1 range2 readbuf rebrackloc rebt8b1 rebuild redfilnm regeq \ regexpbrack regexpbrack2 regexprange regrange reindops reparse resplit \ - rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnulw \ + rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnullre rsnulw \ rstest1 rstest2 rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin setrec0 setrec1 \ sigpipe1 sortempty sortglos spacere splitargv splitarr \ @@ -1436,7 +1441,8 @@ GAWK_EXT_TESTS = \ indirectbuiltin indirectcall indirectcall2 inf-nan-torture \ intarray iolint isarrayunset \ lint lintexp lintindex lintint lintlength lintplus lintold lintset lintwarn \ - manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ + manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime \ + modifiers muldimposix \ nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ @@ -1518,7 +1524,7 @@ NEED_SANDBOX = sandbox1 NEED_TRADITIONAL = litoct tradanch rscompat # Lists of tests that run a shell script -RUN_SHELL = exit fflush localenl next randtest rtlen rtlen01 +RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01 # List of the tests which fail with EXIT CODE 1 FAIL_CODE1 = \ diff --git a/test/Makefile.in b/test/Makefile.in index b96b7d0d..54d4a114 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -924,6 +924,8 @@ EXTRA_DIST = \ manglprm.ok \ manyfiles.awk \ manyfiles.ok \ + modifiers.sh \ + modifiers.ok \ muldimposix.awk \ muldimposix.ok \ match1.awk \ @@ -1361,6 +1363,9 @@ EXTRA_DIST = \ rsnul1nl.ok \ rsnulbig.ok \ rsnulbig2.ok \ + rsnullre.awk \ + rsnullre.in \ + rsnullre.ok \ rsnulw.awk \ rsnulw.in \ rsnulw.ok \ @@ -1665,7 +1670,7 @@ BASIC_TESTS = \ printf1 printfchar prmarscl prmreuse prt1eval prtoeval \ rand randtest range1 range2 readbuf rebrackloc rebt8b1 rebuild redfilnm regeq \ regexpbrack regexpbrack2 regexprange regrange reindops reparse resplit \ - rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnulw \ + rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnullre rsnulw \ rstest1 rstest2 rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin setrec0 setrec1 \ sigpipe1 sortempty sortglos spacere splitargv splitarr \ @@ -1699,7 +1704,8 @@ GAWK_EXT_TESTS = \ indirectbuiltin indirectcall indirectcall2 inf-nan-torture \ intarray iolint isarrayunset \ lint lintexp lintindex lintint lintlength lintplus lintold lintset lintwarn \ - manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ + manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime \ + modifiers muldimposix \ nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ @@ -1781,7 +1787,7 @@ NEED_SANDBOX = sandbox1 NEED_TRADITIONAL = litoct tradanch rscompat # Lists of tests that run a shell script -RUN_SHELL = exit fflush localenl next randtest rtlen rtlen01 +RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01 # List of the tests which fail with EXIT CODE 1 FAIL_CODE1 = \ @@ -3883,6 +3889,11 @@ rsnul1nl: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +rsnullre: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + rsnulw: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -4637,6 +4648,11 @@ mktime: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +modifiers: + @echo $@ + @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + muldimposix: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 363a2755..87b141b4 100644 --- a/test/Maketests +++ b/test/Maketests @@ -965,6 +965,11 @@ rsnul1nl: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +rsnullre: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + rsnulw: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -1719,6 +1724,11 @@ mktime: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +modifiers: + @echo $@ + @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + muldimposix: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/modifiers.ok b/test/modifiers.ok new file mode 100644 index 00000000..77854331 --- /dev/null +++ b/test/modifiers.ok @@ -0,0 +1,12 @@ +gawk: cmd. line:1: warning: `h' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `h' is not permitted in POSIX awk formats +gawk: cmd. line:1: warning: `l' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `l' is not permitted in POSIX awk formats +gawk: cmd. line:1: warning: `L' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `L' is not permitted in POSIX awk formats +gawk: cmd. line:1: warning: `j' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `j' is not permitted in POSIX awk formats +gawk: cmd. line:1: warning: `t' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `t' is not permitted in POSIX awk formats +gawk: cmd. line:1: warning: `z' is meaningless in awk formats; ignored +gawk: cmd. line:1: fatal: `z' is not permitted in POSIX awk formats diff --git a/test/modifiers.sh b/test/modifiers.sh new file mode 100755 index 00000000..07b95686 --- /dev/null +++ b/test/modifiers.sh @@ -0,0 +1,8 @@ +#! /bin/sh + +AWK=${AWK:-../gawk} +for modifier in h l L j t z +do + $AWK -v let=$modifier --posix --lint 'BEGIN { printf "%" let "u\n", 12 }' +done +exit 0 diff --git a/test/rsnullre.awk b/test/rsnullre.awk new file mode 100644 index 00000000..72b156f2 --- /dev/null +++ b/test/rsnullre.awk @@ -0,0 +1,5 @@ +BEGIN { + RS = "()" +} + +{ printf("<<%s>>\n", $0) ; printf("<%s>\n", RT) } diff --git a/test/rsnullre.in b/test/rsnullre.in new file mode 100644 index 00000000..257cc564 --- /dev/null +++ b/test/rsnullre.in @@ -0,0 +1 @@ +foo diff --git a/test/rsnullre.ok b/test/rsnullre.ok new file mode 100644 index 00000000..e8f34942 --- /dev/null +++ b/test/rsnullre.ok @@ -0,0 +1,3 @@ +<<foo +>> +<> |