diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | field.c | 1 | ||||
-rw-r--r-- | test/ChangeLog | 5 | ||||
-rw-r--r-- | test/Makefile.am | 7 | ||||
-rw-r--r-- | test/Makefile.in | 12 | ||||
-rw-r--r-- | test/Maketests | 5 | ||||
-rw-r--r-- | test/fscaret.awk | 8 | ||||
-rw-r--r-- | test/fscaret.in | 1 | ||||
-rw-r--r-- | test/fscaret.ok | 1 |
9 files changed, 39 insertions, 4 deletions
@@ -1,6 +1,9 @@ 2019-04-21 Arnold D. Robbins <arnold@skeeve.com> * POSIX.STD: Updated. + * field.c (get_field): If NF == -1, check parse high water to + set in_middle correctly. Thanks to <oguzismailuysal@gmail.com> + for the report. 2019-04-18 Arnold D. Robbins <arnold@skeeve.com> @@ -855,6 +855,7 @@ get_field(long requested, Func_ptr *assign) if (! field0_valid) { /* first, parse remainder of input record */ if (NF == -1) { + in_middle = (parse_high_water != 0); NF = (*parse_field)(UNLIMITED - 1, &parse_extent, fields_arr[0]->stlen - (parse_extent - fields_arr[0]->stptr), diff --git a/test/ChangeLog b/test/ChangeLog index a6398975..726ac262 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2019-04-21 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (EXTRA_DIST): New test: fscaret. + * fscaret.awk, fscaret.in, fscaret.ok: New files. + 2019-04-18 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (EXTRA_DIST): Add ChangeLog.1 to the list. Ooops. diff --git a/test/Makefile.am b/test/Makefile.am index 8c794d62..1ca9ba0c 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -367,6 +367,9 @@ EXTRA_DIST = \ fsbs.awk \ fsbs.in \ fsbs.ok \ + fscaret.awk \ + fscaret.in \ + fscaret.ok \ fsfwfs.awk \ fsfwfs.in \ fsfwfs.ok \ @@ -1289,8 +1292,8 @@ BASIC_TESTS = \ datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ eofsplit eofsrc1 exit2 exitval1 exitval2 exitval3 \ fcall_exit fcall_exit2 fldchg fldchgnf fldterm fnamedat fnarray fnarray2 \ - fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsnul1 fsrs fsspcoln \ - fstabplus funsemnl funsmnam funstack \ + fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fscaret fsnul1 \ + fsrs fsspcoln fstabplus funsemnl funsmnam funstack \ getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 gsubtst7 \ gsubtst8 \ diff --git a/test/Makefile.in b/test/Makefile.in index ee821c9a..5eb79abe 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -626,6 +626,9 @@ EXTRA_DIST = \ fsbs.awk \ fsbs.in \ fsbs.ok \ + fscaret.awk \ + fscaret.in \ + fscaret.ok \ fsfwfs.awk \ fsfwfs.in \ fsfwfs.ok \ @@ -1548,8 +1551,8 @@ BASIC_TESTS = \ datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ eofsplit eofsrc1 exit2 exitval1 exitval2 exitval3 \ fcall_exit fcall_exit2 fldchg fldchgnf fldterm fnamedat fnarray fnarray2 \ - fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsnul1 fsrs fsspcoln \ - fstabplus funsemnl funsmnam funstack \ + fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fscaret fsnul1 \ + fsrs fsspcoln fstabplus funsemnl funsmnam funstack \ getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 gsubtst7 \ gsubtst8 \ @@ -3101,6 +3104,11 @@ fsbs: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +fscaret: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + fsnul1: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index dadba2ee..1de780ec 100644 --- a/test/Maketests +++ b/test/Maketests @@ -362,6 +362,11 @@ fsbs: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +fscaret: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + fsnul1: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/fscaret.awk b/test/fscaret.awk new file mode 100644 index 00000000..134820d7 --- /dev/null +++ b/test/fscaret.awk @@ -0,0 +1,8 @@ +BEGIN { + FS="^." + OFS="|" +} +{ + $1 = $1 +} +1 diff --git a/test/fscaret.in b/test/fscaret.in new file mode 100644 index 00000000..257cc564 --- /dev/null +++ b/test/fscaret.in @@ -0,0 +1 @@ +foo diff --git a/test/fscaret.ok b/test/fscaret.ok new file mode 100644 index 00000000..38287d58 --- /dev/null +++ b/test/fscaret.ok @@ -0,0 +1 @@ +|oo |