diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | field.c | 2 | ||||
-rw-r--r-- | main.c | 2 | ||||
-rw-r--r-- | test/ChangeLog | 9 | ||||
-rw-r--r-- | test/Makefile.am | 9 | ||||
-rw-r--r-- | test/Makefile.in | 14 | ||||
-rw-r--r-- | test/Maketests | 5 | ||||
-rw-r--r-- | test/dumpvars.ok | 2 | ||||
-rw-r--r-- | test/fpatnull.awk | 2 | ||||
-rw-r--r-- | test/fpatnull.in | 1 | ||||
-rw-r--r-- | test/fpatnull.ok | 1 |
11 files changed, 45 insertions, 9 deletions
@@ -1,3 +1,10 @@ +Sun May 22 11:56:40 2011 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (varinit): Give FPAT a reasonable default value. + * field (get_field): Adjust test for at end of record to >=; + fpat_parse_field can go beyond when matching null regexps. + Thanks to Pat Rankin. + Fri May 20 11:00:17 2011 Arnold D. Robbins <arnold@skeeve.com> * regex_internal.h (__attribute_warn_unused_result__): Always @@ -884,7 +884,7 @@ get_field(long requested, Func_ptr *assign) * reference to the field and NF only gets set if the field * is assigned to -- this case is handled below */ - if (parse_extent == fields_arr[0]->stptr + fields_arr[0]->stlen) + if (parse_extent >= fields_arr[0]->stptr + fields_arr[0]->stlen) NF = parse_high_water; if (requested == UNLIMITED - 1) /* UNLIMITED-1 means set NF */ requested = parse_high_water; @@ -924,7 +924,7 @@ static const struct varinit varinit[] = { {&FILENAME_node, "FILENAME", "", 0, NULL, NULL, FALSE, 0 }, {&FNR_node, "FNR", NULL, 0, update_FNR, set_FNR, TRUE, 0 }, {&FS_node, "FS", " ", 0, NULL, set_FS, FALSE, 0 }, -{&FPAT_node, "FPAT", " ", 0, NULL, set_FPAT, FALSE, 0 }, +{&FPAT_node, "FPAT", "[^[:space:]]+", 0, NULL, set_FPAT, FALSE, 0 }, {&IGNORECASE_node, "IGNORECASE", NULL, 0, NULL, set_IGNORECASE, FALSE, NON_STANDARD }, {&LINT_node, "LINT", NULL, 0, NULL, set_LINT, FALSE, NON_STANDARD }, {&NF_node, "NF", NULL, -1, update_NF, set_NF, FALSE, 0 }, diff --git a/test/ChangeLog b/test/ChangeLog index b9df4619..0d4be5f3 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,12 @@ +Mon May 23 14:03:15 2011 Arnold D. Robbins <arnold@skeeve.com> + + * fpatnull.awk, fpatnull.in, fpatnull.ok: New files. + * Makefile.am (fpatnull): New test. + +Sun May 22 11:58:58 2011 Arnold D. Robbins <arnold@skeeve.com> + + * dumpvars.ok: Updated. + Thu May 19 16:56:31 2011 Arnold D. Robbins <arnold@skeeve.com> * badargs.ok: Updated. diff --git a/test/Makefile.am b/test/Makefile.am index 0bf2bad5..fd34a059 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -226,6 +226,9 @@ EXTRA_DIST = \ fpat1.awk \ fpat1.in \ fpat1.ok \ + fpatnull.awk \ + fpatnull.in \ + fpatnull.ok \ fordel.awk \ fordel.ok \ forref.awk \ @@ -781,9 +784,9 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort backw \ badargs beginfile1 binmode1 clos1way delsub devfd devfd1 devfd2 \ - dumpvars exit fieldwdth fpat1 fsfwfs funlen fwtest fwtest2 gensub \ - gensub2 getlndir gnuops2 gnuops3 gnureops icasefs icasers igncdym \ - igncfs ignrcas2 ignrcase indirectcall lint lintold lintwarn \ + dumpvars exit fieldwdth fpat1 fpatnull fsfwfs funlen fwtest fwtest2 \ + gensub gensub2 getlndir gnuops2 gnuops3 gnureops icasefs icasers \ + igncdym igncfs ignrcas2 ignrcase indirectcall lint lintold lintwarn \ manyfiles match1 match2 match3 mbstr1 nastyparm next nondec nondec2 \ patsplit posix printfbad1 printfbad2 procinfs profile1 profile2 \ profile3 rebuf regx8bit reint reint2 rsstart1 rsstart2 rsstart3 \ diff --git a/test/Makefile.in b/test/Makefile.in index 3662da8d..734f97a8 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -411,6 +411,9 @@ EXTRA_DIST = \ fpat1.awk \ fpat1.in \ fpat1.ok \ + fpatnull.awk \ + fpatnull.in \ + fpatnull.ok \ fordel.awk \ fordel.ok \ forref.awk \ @@ -966,9 +969,9 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort backw \ badargs beginfile1 binmode1 clos1way delsub devfd devfd1 devfd2 \ - dumpvars exit fieldwdth fpat1 fsfwfs funlen fwtest fwtest2 gensub \ - gensub2 getlndir gnuops2 gnuops3 gnureops icasefs icasers igncdym \ - igncfs ignrcas2 ignrcase indirectcall lint lintold lintwarn \ + dumpvars exit fieldwdth fpat1 fpatnull fsfwfs funlen fwtest fwtest2 \ + gensub gensub2 getlndir gnuops2 gnuops3 gnureops icasefs icasers \ + igncdym igncfs ignrcas2 ignrcase indirectcall lint lintold lintwarn \ manyfiles match1 match2 match3 mbstr1 nastyparm next nondec nondec2 \ patsplit posix printfbad1 printfbad2 procinfs profile1 profile2 \ profile3 rebuf regx8bit reint reint2 rsstart1 rsstart2 rsstart3 \ @@ -2621,6 +2624,11 @@ fpat1: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +fpatnull: + @echo fpatnull + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + fsfwfs: @echo fsfwfs @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 2c31422a..4e419a5c 100644 --- a/test/Maketests +++ b/test/Maketests @@ -905,6 +905,11 @@ fpat1: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +fpatnull: + @echo fpatnull + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + fsfwfs: @echo fsfwfs @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/dumpvars.ok b/test/dumpvars.ok index 361c2507..01d5fb78 100644 --- a/test/dumpvars.ok +++ b/test/dumpvars.ok @@ -7,7 +7,7 @@ ERRNO: "" FIELDWIDTHS: "" FILENAME: "-" FNR: 3 -FPAT: " " +FPAT: "[^[:space:]]+" FS: " " IGNORECASE: 0 LINT: 0 diff --git a/test/fpatnull.awk b/test/fpatnull.awk new file mode 100644 index 00000000..1d00adf4 --- /dev/null +++ b/test/fpatnull.awk @@ -0,0 +1,2 @@ +BEGIN { FPAT = "" } +{ print NF } diff --git a/test/fpatnull.in b/test/fpatnull.in new file mode 100644 index 00000000..4b5fa637 --- /dev/null +++ b/test/fpatnull.in @@ -0,0 +1 @@ +hello, world diff --git a/test/fpatnull.ok b/test/fpatnull.ok new file mode 100644 index 00000000..b1bd38b6 --- /dev/null +++ b/test/fpatnull.ok @@ -0,0 +1 @@ +13 |