aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-06-22 22:08:14 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-06-22 22:08:14 +0300
commit78ded8ee8f11a321c96417e7d02dac2f5723a221 (patch)
tree5a083d41c5c496228a26e5081d281941f4414f60
parent9180926c14842c03fd3baa5b3f27ac1c5bb11924 (diff)
parent57454ce9249bdfea6451c231858e6a8b5d26c775 (diff)
downloadegawk-78ded8ee8f11a321c96417e7d02dac2f5723a221.tar.gz
egawk-78ded8ee8f11a321c96417e7d02dac2f5723a221.tar.bz2
egawk-78ded8ee8f11a321c96417e7d02dac2f5723a221.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog10
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info1047
-rw-r--r--doc/gawk.texi8
-rw-r--r--doc/gawktexi.in8
-rw-r--r--regcomp.c14
6 files changed, 556 insertions, 535 deletions
diff --git a/ChangeLog b/ChangeLog
index 39d1f3ba..14202f52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2014-06-22 Paul Eggert <eggert@penguin.cs.ucla.edu>
+
+ Bring in from GNULIB:
+
+ regex: fix memory leak in compiler
+ Fix by Andreas Schwab in:
+ https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
+ * lib/regcomp.c (parse_expression): Deallocate partially
+ constructed tree before returning error.
+
2014-06-19 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_sub): Add more info to leading comment.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 83c7ae70..5e7d4808 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Typo fixes and minor corrections.
+
2014-06-19 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Add thanks to Patrice Dumas and to Karl Berry.
diff --git a/doc/gawk.info b/doc/gawk.info
index 5d4aaa3c..44568736 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2170,7 +2170,7 @@ comment, it ignores _everything_ on the rest of the line. For example:
> BEGIN rule
> }'
error--> gawk: cmd. line:2: BEGIN rule
- error--> gawk: cmd. line:2: ^ parse error
+ error--> gawk: cmd. line:2: ^ syntax error
In this case, it looks like the backslash would continue the comment
onto the next line. However, the backslash-newline combination is never
@@ -25226,7 +25226,7 @@ constant (`FNM_NOMATCH'), and an array of flag values named `FNM'.
The flags are follows:
-Array element Corresponding lag defined by `fnmatch()'
+Array element Corresponding flag defined by `fnmatch()'
--------------------------------------------------------------------------
`FNM["CASEFOLD"]' `FNM_CASEFOLD'
`FNM["FILE_NAME"]' `FNM_FILE_NAME'
@@ -25597,7 +25597,7 @@ Time::) was originally from this project but has been moved in to the
main `gawk' distribution.
You can check out the code for the `gawkextlib' project using the
-GIT (http://git-scm.com) distributed source code control system. The
+Git (http://git-scm.com) distributed source code control system. The
command is as follows:
git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
@@ -26744,8 +26744,7 @@ Info file, in approximate chronological order:
- The modifications to convert `gawk' into a byte-code
interpreter, including the debugger.
- - The addition of true arrays of arrays. *note Arrays of
- Arrays::.
+ - The addition of true arrays of arrays.
- The additional modifications for support of arbitrary
precision arithmetic.
@@ -26760,7 +26759,7 @@ Info file, in approximate chronological order:
- The improved array sorting features were driven by John
together with Pat Rankin.
- Panos Papadopoulos contributed the original text for *note Include
+ * Panos Papadopoulos contributed the original text for *note Include
Files::.
* Efraim Yawitz contributed the original text for *note Debugger::.
@@ -31616,7 +31615,7 @@ Index
* Collado, Manuel: Acknowledgments. (line 60)
* collating elements: Bracket Expressions. (line 69)
* collating symbols: Bracket Expressions. (line 76)
-* Colombo, Antonio <1>: Contributors. (line 138)
+* Colombo, Antonio <1>: Contributors. (line 137)
* Colombo, Antonio: Acknowledgments. (line 60)
* columns, aligning: Print Examples. (line 70)
* columns, cutting: Cut Program. (line 6)
@@ -33051,7 +33050,7 @@ Index
* output, standard: Special FD. (line 6)
* p debugger command (alias for print): Viewing And Changing Data.
(line 36)
-* Papadopoulos, Panos: Contributors. (line 129)
+* Papadopoulos, Panos: Contributors. (line 128)
* parent process ID of gawk process: Auto-set. (line 189)
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 80)
@@ -33396,7 +33395,7 @@ Index
* RLENGTH variable, match() function and: String Functions. (line 224)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
-* Robbins, Arnold <3>: Contributors. (line 142)
+* Robbins, Arnold <3>: Contributors. (line 141)
* Robbins, Arnold <4>: General Data Types. (line 6)
* Robbins, Arnold <5>: Alarm Program. (line 6)
* Robbins, Arnold <6>: Passwd Functions. (line 90)
@@ -33439,7 +33438,7 @@ Index
* scalar values: Basic Data Typing. (line 13)
* scanning arrays: Scanning an Array. (line 6)
* scanning multidimensional arrays: Multiscanning. (line 11)
-* Schorr, Andrew <1>: Contributors. (line 134)
+* Schorr, Andrew <1>: Contributors. (line 133)
* Schorr, Andrew <2>: Auto-set. (line 292)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
@@ -33924,7 +33923,7 @@ Index
* xgettext utility: String Extraction. (line 13)
* xor: Bitwise Functions. (line 55)
* XOR bitwise operation: Bitwise Functions. (line 6)
-* Yawitz, Efraim: Contributors. (line 132)
+* Yawitz, Efraim: Contributors. (line 131)
* Zaretskii, Eli <1>: Bugs. (line 71)
* Zaretskii, Eli <2>: Contributors. (line 55)
* Zaretskii, Eli: Acknowledgments. (line 60)
@@ -33992,518 +33991,518 @@ Node: Two Rules97321
Node: More Complex99215
Ref: More Complex-Footnote-1102147
Node: Statements/Lines102232
-Ref: Statements/Lines-Footnote-1106687
-Node: Other Features106952
-Node: When107880
-Node: Intro Summary110050
-Node: Invoking Gawk110816
-Node: Command Line112331
-Node: Options113122
-Ref: Options-Footnote-1128951
-Node: Other Arguments128976
-Node: Naming Standard Input131638
-Node: Environment Variables132732
-Node: AWKPATH Variable133290
-Ref: AWKPATH Variable-Footnote-1136162
-Ref: AWKPATH Variable-Footnote-2136207
-Node: AWKLIBPATH Variable136467
-Node: Other Environment Variables137226
-Node: Exit Status140881
-Node: Include Files141556
-Node: Loading Shared Libraries145134
-Node: Obsolete146518
-Node: Undocumented147215
-Node: Invoking Summary147482
-Node: Regexp149062
-Node: Regexp Usage150512
-Node: Escape Sequences152545
-Node: Regexp Operators158212
-Ref: Regexp Operators-Footnote-1165692
-Ref: Regexp Operators-Footnote-2165839
-Node: Bracket Expressions165937
-Ref: table-char-classes167827
-Node: GNU Regexp Operators170350
-Node: Case-sensitivity174073
-Ref: Case-sensitivity-Footnote-1176965
-Ref: Case-sensitivity-Footnote-2177200
-Node: Leftmost Longest177308
-Node: Computed Regexps178509
-Node: Regexp Summary181881
-Node: Reading Files183352
-Node: Records185444
-Node: awk split records186187
-Node: gawk split records191045
-Ref: gawk split records-Footnote-1195566
-Node: Fields195603
-Ref: Fields-Footnote-1198567
-Node: Nonconstant Fields198653
-Ref: Nonconstant Fields-Footnote-1200883
-Node: Changing Fields201085
-Node: Field Separators207039
-Node: Default Field Splitting209741
-Node: Regexp Field Splitting210858
-Node: Single Character Fields214199
-Node: Command Line Field Separator215258
-Node: Full Line Fields218600
-Ref: Full Line Fields-Footnote-1219108
-Node: Field Splitting Summary219154
-Ref: Field Splitting Summary-Footnote-1222253
-Node: Constant Size222354
-Node: Splitting By Content226961
-Ref: Splitting By Content-Footnote-1230711
-Node: Multiple Line230751
-Ref: Multiple Line-Footnote-1236607
-Node: Getline236786
-Node: Plain Getline239002
-Node: Getline/Variable241097
-Node: Getline/File242244
-Node: Getline/Variable/File243628
-Ref: Getline/Variable/File-Footnote-1245227
-Node: Getline/Pipe245314
-Node: Getline/Variable/Pipe248013
-Node: Getline/Coprocess249120
-Node: Getline/Variable/Coprocess250372
-Node: Getline Notes251109
-Node: Getline Summary253913
-Ref: table-getline-variants254321
-Node: Read Timeout255233
-Ref: Read Timeout-Footnote-1259060
-Node: Command line directories259118
-Node: Input Summary260022
-Node: Input Exercises263159
-Node: Printing263892
-Node: Print265614
-Node: Print Examples266955
-Node: Output Separators269734
-Node: OFMT271750
-Node: Printf273108
-Node: Basic Printf274014
-Node: Control Letters275553
-Node: Format Modifiers279405
-Node: Printf Examples285432
-Node: Redirection287896
-Node: Special Files294868
-Node: Special FD295399
-Ref: Special FD-Footnote-1299023
-Node: Special Network299097
-Node: Special Caveats299947
-Node: Close Files And Pipes300743
-Ref: Close Files And Pipes-Footnote-1307904
-Ref: Close Files And Pipes-Footnote-2308052
-Node: Output Summary308202
-Node: Output exercises309199
-Node: Expressions309879
-Node: Values311064
-Node: Constants311740
-Node: Scalar Constants312420
-Ref: Scalar Constants-Footnote-1313279
-Node: Nondecimal-numbers313529
-Node: Regexp Constants316529
-Node: Using Constant Regexps317004
-Node: Variables320074
-Node: Using Variables320729
-Node: Assignment Options322453
-Node: Conversion324328
-Node: Strings And Numbers324852
-Ref: Strings And Numbers-Footnote-1327914
-Node: Locale influences conversions328023
-Ref: table-locale-affects330740
-Node: All Operators331328
-Node: Arithmetic Ops331958
-Node: Concatenation334463
-Ref: Concatenation-Footnote-1337259
-Node: Assignment Ops337379
-Ref: table-assign-ops342362
-Node: Increment Ops343679
-Node: Truth Values and Conditions347117
-Node: Truth Values348200
-Node: Typing and Comparison349249
-Node: Variable Typing350042
-Ref: Variable Typing-Footnote-1353942
-Node: Comparison Operators354064
-Ref: table-relational-ops354474
-Node: POSIX String Comparison358024
-Ref: POSIX String Comparison-Footnote-1359108
-Node: Boolean Ops359246
-Ref: Boolean Ops-Footnote-1363316
-Node: Conditional Exp363407
-Node: Function Calls365134
-Node: Precedence369014
-Node: Locales372683
-Node: Expressions Summary374314
-Node: Patterns and Actions376855
-Node: Pattern Overview377971
-Node: Regexp Patterns379648
-Node: Expression Patterns380191
-Node: Ranges383972
-Node: BEGIN/END387078
-Node: Using BEGIN/END387840
-Ref: Using BEGIN/END-Footnote-1390576
-Node: I/O And BEGIN/END390682
-Node: BEGINFILE/ENDFILE392967
-Node: Empty395898
-Node: Using Shell Variables396215
-Node: Action Overview398498
-Node: Statements400825
-Node: If Statement402673
-Node: While Statement404171
-Node: Do Statement406215
-Node: For Statement407371
-Node: Switch Statement410523
-Node: Break Statement412626
-Node: Continue Statement414681
-Node: Next Statement416474
-Node: Nextfile Statement418864
-Node: Exit Statement421519
-Node: Built-in Variables423923
-Node: User-modified425050
-Ref: User-modified-Footnote-1432739
-Node: Auto-set432801
-Ref: Auto-set-Footnote-1445720
-Ref: Auto-set-Footnote-2445925
-Node: ARGC and ARGV445981
-Node: Pattern Action Summary449835
-Node: Arrays452058
-Node: Array Basics453607
-Node: Array Intro454433
-Ref: figure-array-elements456406
-Node: Reference to Elements458813
-Node: Assigning Elements461086
-Node: Array Example461577
-Node: Scanning an Array463309
-Node: Controlling Scanning466324
-Ref: Controlling Scanning-Footnote-1471497
-Node: Delete471813
-Ref: Delete-Footnote-1474578
-Node: Numeric Array Subscripts474635
-Node: Uninitialized Subscripts476818
-Node: Multidimensional478443
-Node: Multiscanning481536
-Node: Arrays of Arrays483125
-Node: Arrays Summary487788
-Node: Functions489893
-Node: Built-in490766
-Node: Calling Built-in491844
-Node: Numeric Functions493832
-Ref: Numeric Functions-Footnote-1497666
-Ref: Numeric Functions-Footnote-2498023
-Ref: Numeric Functions-Footnote-3498071
-Node: String Functions498340
-Ref: String Functions-Footnote-1521351
-Ref: String Functions-Footnote-2521480
-Ref: String Functions-Footnote-3521728
-Node: Gory Details521815
-Ref: table-sub-escapes523484
-Ref: table-sub-posix-92524838
-Ref: table-sub-proposed526189
-Ref: table-posix-sub527543
-Ref: table-gensub-escapes529088
-Ref: Gory Details-Footnote-1530264
-Ref: Gory Details-Footnote-2530315
-Node: I/O Functions530466
-Ref: I/O Functions-Footnote-1537589
-Node: Time Functions537736
-Ref: Time Functions-Footnote-1548200
-Ref: Time Functions-Footnote-2548268
-Ref: Time Functions-Footnote-3548426
-Ref: Time Functions-Footnote-4548537
-Ref: Time Functions-Footnote-5548649
-Ref: Time Functions-Footnote-6548876
-Node: Bitwise Functions549142
-Ref: table-bitwise-ops549704
-Ref: Bitwise Functions-Footnote-1553949
-Node: Type Functions554133
-Node: I18N Functions555275
-Node: User-defined556920
-Node: Definition Syntax557724
-Ref: Definition Syntax-Footnote-1562903
-Node: Function Example562972
-Ref: Function Example-Footnote-1565616
-Node: Function Caveats565638
-Node: Calling A Function566156
-Node: Variable Scope567111
-Node: Pass By Value/Reference570099
-Node: Return Statement573607
-Node: Dynamic Typing576591
-Node: Indirect Calls577520
-Node: Functions Summary587233
-Node: Library Functions589772
-Ref: Library Functions-Footnote-1593390
-Ref: Library Functions-Footnote-2593533
-Node: Library Names593704
-Ref: Library Names-Footnote-1597177
-Ref: Library Names-Footnote-2597397
-Node: General Functions597483
-Node: Strtonum Function598511
-Node: Assert Function601291
-Node: Round Function604617
-Node: Cliff Random Function606158
-Node: Ordinal Functions607174
-Ref: Ordinal Functions-Footnote-1610251
-Ref: Ordinal Functions-Footnote-2610503
-Node: Join Function610714
-Ref: Join Function-Footnote-1612485
-Node: Getlocaltime Function612685
-Node: Readfile Function616421
-Node: Data File Management618260
-Node: Filetrans Function618892
-Node: Rewind Function622961
-Node: File Checking624348
-Ref: File Checking-Footnote-1625480
-Node: Empty Files625681
-Node: Ignoring Assigns627660
-Node: Getopt Function629214
-Ref: Getopt Function-Footnote-1640517
-Node: Passwd Functions640720
-Ref: Passwd Functions-Footnote-1649699
-Node: Group Functions649787
-Ref: Group Functions-Footnote-1657728
-Node: Walking Arrays657941
-Node: Library Functions Summary659544
-Node: Library exercises660932
-Node: Sample Programs662212
-Node: Running Examples662982
-Node: Clones663710
-Node: Cut Program664934
-Node: Egrep Program674802
-Ref: Egrep Program-Footnote-1682773
-Node: Id Program682883
-Node: Split Program686547
-Ref: Split Program-Footnote-1690085
-Node: Tee Program690213
-Node: Uniq Program693020
-Node: Wc Program700450
-Ref: Wc Program-Footnote-1704715
-Node: Miscellaneous Programs704807
-Node: Dupword Program706020
-Node: Alarm Program708051
-Node: Translate Program712865
-Ref: Translate Program-Footnote-1717256
-Ref: Translate Program-Footnote-2717526
-Node: Labels Program717660
-Ref: Labels Program-Footnote-1721031
-Node: Word Sorting721115
-Node: History Sorting725158
-Node: Extract Program726994
-Node: Simple Sed734530
-Node: Igawk Program737592
-Ref: Igawk Program-Footnote-1751903
-Ref: Igawk Program-Footnote-2752104
-Node: Anagram Program752242
-Node: Signature Program755310
-Node: Programs Summary756557
-Node: Programs Exercises757772
-Node: Advanced Features761423
-Node: Nondecimal Data763371
-Node: Array Sorting764948
-Node: Controlling Array Traversal765645
-Node: Array Sorting Functions773925
-Ref: Array Sorting Functions-Footnote-1777832
-Node: Two-way I/O778026
-Ref: Two-way I/O-Footnote-1783542
-Node: TCP/IP Networking783624
-Node: Profiling786468
-Node: Advanced Features Summary794010
-Node: Internationalization795874
-Node: I18N and L10N797354
-Node: Explaining gettext798040
-Ref: Explaining gettext-Footnote-1803180
-Ref: Explaining gettext-Footnote-2803364
-Node: Programmer i18n803529
-Node: Translator i18n807754
-Node: String Extraction808548
-Ref: String Extraction-Footnote-1809509
-Node: Printf Ordering809595
-Ref: Printf Ordering-Footnote-1812377
-Node: I18N Portability812441
-Ref: I18N Portability-Footnote-1814890
-Node: I18N Example814953
-Ref: I18N Example-Footnote-1817675
-Node: Gawk I18N817747
-Node: I18N Summary818385
-Node: Debugger819724
-Node: Debugging820746
-Node: Debugging Concepts821187
-Node: Debugging Terms823043
-Node: Awk Debugging825640
-Node: Sample Debugging Session826532
-Node: Debugger Invocation827052
-Node: Finding The Bug828385
-Node: List of Debugger Commands834867
-Node: Breakpoint Control836199
-Node: Debugger Execution Control839863
-Node: Viewing And Changing Data843223
-Node: Execution Stack846581
-Node: Debugger Info848094
-Node: Miscellaneous Debugger Commands852088
-Node: Readline Support857272
-Node: Limitations858164
-Node: Debugging Summary860438
-Node: Arbitrary Precision Arithmetic861602
-Node: Computer Arithmetic862931
-Ref: Computer Arithmetic-Footnote-1867318
-Node: Math Definitions867375
-Ref: table-ieee-formats870259
-Node: MPFR features870763
-Node: FP Math Caution872405
-Ref: FP Math Caution-Footnote-1873446
-Node: Inexactness of computations873815
-Node: Inexact representation874763
-Node: Comparing FP Values876118
-Node: Errors accumulate877082
-Node: Getting Accuracy878515
-Node: Try To Round881174
-Node: Setting precision882073
-Ref: table-predefined-precision-strings882755
-Node: Setting the rounding mode884548
-Ref: table-gawk-rounding-modes884912
-Ref: Setting the rounding mode-Footnote-1888366
-Node: Arbitrary Precision Integers888545
-Ref: Arbitrary Precision Integers-Footnote-1891548
-Node: POSIX Floating Point Problems891697
-Ref: POSIX Floating Point Problems-Footnote-1895573
-Node: Floating point summary895611
-Node: Dynamic Extensions897828
-Node: Extension Intro899380
-Node: Plugin License900645
-Node: Extension Mechanism Outline901330
-Ref: figure-load-extension901754
-Ref: figure-load-new-function903239
-Ref: figure-call-new-function904241
-Node: Extension API Description906225
-Node: Extension API Functions Introduction907675
-Node: General Data Types912540
-Ref: General Data Types-Footnote-1918233
-Node: Requesting Values918532
-Ref: table-value-types-returned919269
-Node: Memory Allocation Functions920227
-Ref: Memory Allocation Functions-Footnote-1922974
-Node: Constructor Functions923070
-Node: Registration Functions924828
-Node: Extension Functions925513
-Node: Exit Callback Functions927815
-Node: Extension Version String929064
-Node: Input Parsers929714
-Node: Output Wrappers939517
-Node: Two-way processors944033
-Node: Printing Messages946237
-Ref: Printing Messages-Footnote-1947314
-Node: Updating `ERRNO'947466
-Node: Accessing Parameters948205
-Node: Symbol Table Access949435
-Node: Symbol table by name949949
-Node: Symbol table by cookie951925
-Ref: Symbol table by cookie-Footnote-1956058
-Node: Cached values956121
-Ref: Cached values-Footnote-1959625
-Node: Array Manipulation959716
-Ref: Array Manipulation-Footnote-1960814
-Node: Array Data Types960853
-Ref: Array Data Types-Footnote-1963556
-Node: Array Functions963648
-Node: Flattening Arrays967522
-Node: Creating Arrays974374
-Node: Extension API Variables979105
-Node: Extension Versioning979741
-Node: Extension API Informational Variables981642
-Node: Extension API Boilerplate982728
-Node: Finding Extensions986532
-Node: Extension Example987092
-Node: Internal File Description987822
-Node: Internal File Ops991913
-Ref: Internal File Ops-Footnote-11003345
-Node: Using Internal File Ops1003485
-Ref: Using Internal File Ops-Footnote-11005832
-Node: Extension Samples1006100
-Node: Extension Sample File Functions1007624
-Node: Extension Sample Fnmatch1015192
-Node: Extension Sample Fork1016673
-Node: Extension Sample Inplace1017886
-Node: Extension Sample Ord1019561
-Node: Extension Sample Readdir1020397
-Ref: table-readdir-file-types1021253
-Node: Extension Sample Revout1022052
-Node: Extension Sample Rev2way1022643
-Node: Extension Sample Read write array1023384
-Node: Extension Sample Readfile1025263
-Node: Extension Sample API Tests1026363
-Node: Extension Sample Time1026888
-Node: gawkextlib1028203
-Node: Extension summary1031016
-Node: Extension Exercises1034709
-Node: Language History1035431
-Node: V7/SVR3.11037074
-Node: SVR41039394
-Node: POSIX1040836
-Node: BTL1042222
-Node: POSIX/GNU1042956
-Node: Feature History1048555
-Node: Common Extensions1061685
-Node: Ranges and Locales1062997
-Ref: Ranges and Locales-Footnote-11067614
-Ref: Ranges and Locales-Footnote-21067641
-Ref: Ranges and Locales-Footnote-31067875
-Node: Contributors1068096
-Node: History summary1073558
-Node: Installation1074927
-Node: Gawk Distribution1075878
-Node: Getting1076362
-Node: Extracting1077186
-Node: Distribution contents1078828
-Node: Unix Installation1084545
-Node: Quick Installation1085162
-Node: Additional Configuration Options1087604
-Node: Configuration Philosophy1089342
-Node: Non-Unix Installation1091693
-Node: PC Installation1092151
-Node: PC Binary Installation1093462
-Node: PC Compiling1095310
-Ref: PC Compiling-Footnote-11098309
-Node: PC Testing1098414
-Node: PC Using1099590
-Node: Cygwin1103748
-Node: MSYS1104557
-Node: VMS Installation1105071
-Node: VMS Compilation1105867
-Ref: VMS Compilation-Footnote-11107089
-Node: VMS Dynamic Extensions1107147
-Node: VMS Installation Details1108520
-Node: VMS Running1110772
-Node: VMS GNV1113606
-Node: VMS Old Gawk1114329
-Node: Bugs1114799
-Node: Other Versions1118803
-Node: Installation summary1125058
-Node: Notes1126114
-Node: Compatibility Mode1126979
-Node: Additions1127761
-Node: Accessing The Source1128686
-Node: Adding Code1130122
-Node: New Ports1136300
-Node: Derived Files1140781
-Ref: Derived Files-Footnote-11145862
-Ref: Derived Files-Footnote-21145896
-Ref: Derived Files-Footnote-31146492
-Node: Future Extensions1146606
-Node: Implementation Limitations1147212
-Node: Extension Design1148460
-Node: Old Extension Problems1149614
-Ref: Old Extension Problems-Footnote-11151131
-Node: Extension New Mechanism Goals1151188
-Ref: Extension New Mechanism Goals-Footnote-11154548
-Node: Extension Other Design Decisions1154737
-Node: Extension Future Growth1156843
-Node: Old Extension Mechanism1157679
-Node: Notes summary1159441
-Node: Basic Concepts1160627
-Node: Basic High Level1161308
-Ref: figure-general-flow1161580
-Ref: figure-process-flow1162179
-Ref: Basic High Level-Footnote-11165408
-Node: Basic Data Typing1165593
-Node: Glossary1168921
-Node: Copying1194073
-Node: GNU Free Documentation License1231629
-Node: Index1256765
+Ref: Statements/Lines-Footnote-1106688
+Node: Other Features106953
+Node: When107881
+Node: Intro Summary110051
+Node: Invoking Gawk110817
+Node: Command Line112332
+Node: Options113123
+Ref: Options-Footnote-1128952
+Node: Other Arguments128977
+Node: Naming Standard Input131639
+Node: Environment Variables132733
+Node: AWKPATH Variable133291
+Ref: AWKPATH Variable-Footnote-1136163
+Ref: AWKPATH Variable-Footnote-2136208
+Node: AWKLIBPATH Variable136468
+Node: Other Environment Variables137227
+Node: Exit Status140882
+Node: Include Files141557
+Node: Loading Shared Libraries145135
+Node: Obsolete146519
+Node: Undocumented147216
+Node: Invoking Summary147483
+Node: Regexp149063
+Node: Regexp Usage150513
+Node: Escape Sequences152546
+Node: Regexp Operators158213
+Ref: Regexp Operators-Footnote-1165693
+Ref: Regexp Operators-Footnote-2165840
+Node: Bracket Expressions165938
+Ref: table-char-classes167828
+Node: GNU Regexp Operators170351
+Node: Case-sensitivity174074
+Ref: Case-sensitivity-Footnote-1176966
+Ref: Case-sensitivity-Footnote-2177201
+Node: Leftmost Longest177309
+Node: Computed Regexps178510
+Node: Regexp Summary181882
+Node: Reading Files183353
+Node: Records185445
+Node: awk split records186188
+Node: gawk split records191046
+Ref: gawk split records-Footnote-1195567
+Node: Fields195604
+Ref: Fields-Footnote-1198568
+Node: Nonconstant Fields198654
+Ref: Nonconstant Fields-Footnote-1200884
+Node: Changing Fields201086
+Node: Field Separators207040
+Node: Default Field Splitting209742
+Node: Regexp Field Splitting210859
+Node: Single Character Fields214200
+Node: Command Line Field Separator215259
+Node: Full Line Fields218601
+Ref: Full Line Fields-Footnote-1219109
+Node: Field Splitting Summary219155
+Ref: Field Splitting Summary-Footnote-1222254
+Node: Constant Size222355
+Node: Splitting By Content226962
+Ref: Splitting By Content-Footnote-1230712
+Node: Multiple Line230752
+Ref: Multiple Line-Footnote-1236608
+Node: Getline236787
+Node: Plain Getline239003
+Node: Getline/Variable241098
+Node: Getline/File242245
+Node: Getline/Variable/File243629
+Ref: Getline/Variable/File-Footnote-1245228
+Node: Getline/Pipe245315
+Node: Getline/Variable/Pipe248014
+Node: Getline/Coprocess249121
+Node: Getline/Variable/Coprocess250373
+Node: Getline Notes251110
+Node: Getline Summary253914
+Ref: table-getline-variants254322
+Node: Read Timeout255234
+Ref: Read Timeout-Footnote-1259061
+Node: Command line directories259119
+Node: Input Summary260023
+Node: Input Exercises263160
+Node: Printing263893
+Node: Print265615
+Node: Print Examples266956
+Node: Output Separators269735
+Node: OFMT271751
+Node: Printf273109
+Node: Basic Printf274015
+Node: Control Letters275554
+Node: Format Modifiers279406
+Node: Printf Examples285433
+Node: Redirection287897
+Node: Special Files294869
+Node: Special FD295400
+Ref: Special FD-Footnote-1299024
+Node: Special Network299098
+Node: Special Caveats299948
+Node: Close Files And Pipes300744
+Ref: Close Files And Pipes-Footnote-1307905
+Ref: Close Files And Pipes-Footnote-2308053
+Node: Output Summary308203
+Node: Output exercises309200
+Node: Expressions309880
+Node: Values311065
+Node: Constants311741
+Node: Scalar Constants312421
+Ref: Scalar Constants-Footnote-1313280
+Node: Nondecimal-numbers313530
+Node: Regexp Constants316530
+Node: Using Constant Regexps317005
+Node: Variables320075
+Node: Using Variables320730
+Node: Assignment Options322454
+Node: Conversion324329
+Node: Strings And Numbers324853
+Ref: Strings And Numbers-Footnote-1327915
+Node: Locale influences conversions328024
+Ref: table-locale-affects330741
+Node: All Operators331329
+Node: Arithmetic Ops331959
+Node: Concatenation334464
+Ref: Concatenation-Footnote-1337260
+Node: Assignment Ops337380
+Ref: table-assign-ops342363
+Node: Increment Ops343680
+Node: Truth Values and Conditions347118
+Node: Truth Values348201
+Node: Typing and Comparison349250
+Node: Variable Typing350043
+Ref: Variable Typing-Footnote-1353943
+Node: Comparison Operators354065
+Ref: table-relational-ops354475
+Node: POSIX String Comparison358025
+Ref: POSIX String Comparison-Footnote-1359109
+Node: Boolean Ops359247
+Ref: Boolean Ops-Footnote-1363317
+Node: Conditional Exp363408
+Node: Function Calls365135
+Node: Precedence369015
+Node: Locales372684
+Node: Expressions Summary374315
+Node: Patterns and Actions376856
+Node: Pattern Overview377972
+Node: Regexp Patterns379649
+Node: Expression Patterns380192
+Node: Ranges383973
+Node: BEGIN/END387079
+Node: Using BEGIN/END387841
+Ref: Using BEGIN/END-Footnote-1390577
+Node: I/O And BEGIN/END390683
+Node: BEGINFILE/ENDFILE392968
+Node: Empty395899
+Node: Using Shell Variables396216
+Node: Action Overview398499
+Node: Statements400826
+Node: If Statement402674
+Node: While Statement404172
+Node: Do Statement406216
+Node: For Statement407372
+Node: Switch Statement410524
+Node: Break Statement412627
+Node: Continue Statement414682
+Node: Next Statement416475
+Node: Nextfile Statement418865
+Node: Exit Statement421520
+Node: Built-in Variables423924
+Node: User-modified425051
+Ref: User-modified-Footnote-1432740
+Node: Auto-set432802
+Ref: Auto-set-Footnote-1445721
+Ref: Auto-set-Footnote-2445926
+Node: ARGC and ARGV445982
+Node: Pattern Action Summary449836
+Node: Arrays452059
+Node: Array Basics453608
+Node: Array Intro454434
+Ref: figure-array-elements456407
+Node: Reference to Elements458814
+Node: Assigning Elements461087
+Node: Array Example461578
+Node: Scanning an Array463310
+Node: Controlling Scanning466325
+Ref: Controlling Scanning-Footnote-1471498
+Node: Delete471814
+Ref: Delete-Footnote-1474579
+Node: Numeric Array Subscripts474636
+Node: Uninitialized Subscripts476819
+Node: Multidimensional478444
+Node: Multiscanning481537
+Node: Arrays of Arrays483126
+Node: Arrays Summary487789
+Node: Functions489894
+Node: Built-in490767
+Node: Calling Built-in491845
+Node: Numeric Functions493833
+Ref: Numeric Functions-Footnote-1497667
+Ref: Numeric Functions-Footnote-2498024
+Ref: Numeric Functions-Footnote-3498072
+Node: String Functions498341
+Ref: String Functions-Footnote-1521352
+Ref: String Functions-Footnote-2521481
+Ref: String Functions-Footnote-3521729
+Node: Gory Details521816
+Ref: table-sub-escapes523485
+Ref: table-sub-posix-92524839
+Ref: table-sub-proposed526190
+Ref: table-posix-sub527544
+Ref: table-gensub-escapes529089
+Ref: Gory Details-Footnote-1530265
+Ref: Gory Details-Footnote-2530316
+Node: I/O Functions530467
+Ref: I/O Functions-Footnote-1537590
+Node: Time Functions537737
+Ref: Time Functions-Footnote-1548201
+Ref: Time Functions-Footnote-2548269
+Ref: Time Functions-Footnote-3548427
+Ref: Time Functions-Footnote-4548538
+Ref: Time Functions-Footnote-5548650
+Ref: Time Functions-Footnote-6548877
+Node: Bitwise Functions549143
+Ref: table-bitwise-ops549705
+Ref: Bitwise Functions-Footnote-1553950
+Node: Type Functions554134
+Node: I18N Functions555276
+Node: User-defined556921
+Node: Definition Syntax557725
+Ref: Definition Syntax-Footnote-1562904
+Node: Function Example562973
+Ref: Function Example-Footnote-1565617
+Node: Function Caveats565639
+Node: Calling A Function566157
+Node: Variable Scope567112
+Node: Pass By Value/Reference570100
+Node: Return Statement573608
+Node: Dynamic Typing576592
+Node: Indirect Calls577521
+Node: Functions Summary587234
+Node: Library Functions589773
+Ref: Library Functions-Footnote-1593391
+Ref: Library Functions-Footnote-2593534
+Node: Library Names593705
+Ref: Library Names-Footnote-1597178
+Ref: Library Names-Footnote-2597398
+Node: General Functions597484
+Node: Strtonum Function598512
+Node: Assert Function601292
+Node: Round Function604618
+Node: Cliff Random Function606159
+Node: Ordinal Functions607175
+Ref: Ordinal Functions-Footnote-1610252
+Ref: Ordinal Functions-Footnote-2610504
+Node: Join Function610715
+Ref: Join Function-Footnote-1612486
+Node: Getlocaltime Function612686
+Node: Readfile Function616422
+Node: Data File Management618261
+Node: Filetrans Function618893
+Node: Rewind Function622962
+Node: File Checking624349
+Ref: File Checking-Footnote-1625481
+Node: Empty Files625682
+Node: Ignoring Assigns627661
+Node: Getopt Function629215
+Ref: Getopt Function-Footnote-1640518
+Node: Passwd Functions640721
+Ref: Passwd Functions-Footnote-1649700
+Node: Group Functions649788
+Ref: Group Functions-Footnote-1657729
+Node: Walking Arrays657942
+Node: Library Functions Summary659545
+Node: Library exercises660933
+Node: Sample Programs662213
+Node: Running Examples662983
+Node: Clones663711
+Node: Cut Program664935
+Node: Egrep Program674803
+Ref: Egrep Program-Footnote-1682774
+Node: Id Program682884
+Node: Split Program686548
+Ref: Split Program-Footnote-1690086
+Node: Tee Program690214
+Node: Uniq Program693021
+Node: Wc Program700451
+Ref: Wc Program-Footnote-1704716
+Node: Miscellaneous Programs704808
+Node: Dupword Program706021
+Node: Alarm Program708052
+Node: Translate Program712866
+Ref: Translate Program-Footnote-1717257
+Ref: Translate Program-Footnote-2717527
+Node: Labels Program717661
+Ref: Labels Program-Footnote-1721032
+Node: Word Sorting721116
+Node: History Sorting725159
+Node: Extract Program726995
+Node: Simple Sed734531
+Node: Igawk Program737593
+Ref: Igawk Program-Footnote-1751904
+Ref: Igawk Program-Footnote-2752105
+Node: Anagram Program752243
+Node: Signature Program755311
+Node: Programs Summary756558
+Node: Programs Exercises757773
+Node: Advanced Features761424
+Node: Nondecimal Data763372
+Node: Array Sorting764949
+Node: Controlling Array Traversal765646
+Node: Array Sorting Functions773926
+Ref: Array Sorting Functions-Footnote-1777833
+Node: Two-way I/O778027
+Ref: Two-way I/O-Footnote-1783543
+Node: TCP/IP Networking783625
+Node: Profiling786469
+Node: Advanced Features Summary794011
+Node: Internationalization795875
+Node: I18N and L10N797355
+Node: Explaining gettext798041
+Ref: Explaining gettext-Footnote-1803181
+Ref: Explaining gettext-Footnote-2803365
+Node: Programmer i18n803530
+Node: Translator i18n807755
+Node: String Extraction808549
+Ref: String Extraction-Footnote-1809510
+Node: Printf Ordering809596
+Ref: Printf Ordering-Footnote-1812378
+Node: I18N Portability812442
+Ref: I18N Portability-Footnote-1814891
+Node: I18N Example814954
+Ref: I18N Example-Footnote-1817676
+Node: Gawk I18N817748
+Node: I18N Summary818386
+Node: Debugger819725
+Node: Debugging820747
+Node: Debugging Concepts821188
+Node: Debugging Terms823044
+Node: Awk Debugging825641
+Node: Sample Debugging Session826533
+Node: Debugger Invocation827053
+Node: Finding The Bug828386
+Node: List of Debugger Commands834868
+Node: Breakpoint Control836200
+Node: Debugger Execution Control839864
+Node: Viewing And Changing Data843224
+Node: Execution Stack846582
+Node: Debugger Info848095
+Node: Miscellaneous Debugger Commands852089
+Node: Readline Support857273
+Node: Limitations858165
+Node: Debugging Summary860439
+Node: Arbitrary Precision Arithmetic861603
+Node: Computer Arithmetic862932
+Ref: Computer Arithmetic-Footnote-1867319
+Node: Math Definitions867376
+Ref: table-ieee-formats870260
+Node: MPFR features870764
+Node: FP Math Caution872406
+Ref: FP Math Caution-Footnote-1873447
+Node: Inexactness of computations873816
+Node: Inexact representation874764
+Node: Comparing FP Values876119
+Node: Errors accumulate877083
+Node: Getting Accuracy878516
+Node: Try To Round881175
+Node: Setting precision882074
+Ref: table-predefined-precision-strings882756
+Node: Setting the rounding mode884549
+Ref: table-gawk-rounding-modes884913
+Ref: Setting the rounding mode-Footnote-1888367
+Node: Arbitrary Precision Integers888546
+Ref: Arbitrary Precision Integers-Footnote-1891549
+Node: POSIX Floating Point Problems891698
+Ref: POSIX Floating Point Problems-Footnote-1895574
+Node: Floating point summary895612
+Node: Dynamic Extensions897829
+Node: Extension Intro899381
+Node: Plugin License900646
+Node: Extension Mechanism Outline901331
+Ref: figure-load-extension901755
+Ref: figure-load-new-function903240
+Ref: figure-call-new-function904242
+Node: Extension API Description906226
+Node: Extension API Functions Introduction907676
+Node: General Data Types912541
+Ref: General Data Types-Footnote-1918234
+Node: Requesting Values918533
+Ref: table-value-types-returned919270
+Node: Memory Allocation Functions920228
+Ref: Memory Allocation Functions-Footnote-1922975
+Node: Constructor Functions923071
+Node: Registration Functions924829
+Node: Extension Functions925514
+Node: Exit Callback Functions927816
+Node: Extension Version String929065
+Node: Input Parsers929715
+Node: Output Wrappers939518
+Node: Two-way processors944034
+Node: Printing Messages946238
+Ref: Printing Messages-Footnote-1947315
+Node: Updating `ERRNO'947467
+Node: Accessing Parameters948206
+Node: Symbol Table Access949436
+Node: Symbol table by name949950
+Node: Symbol table by cookie951926
+Ref: Symbol table by cookie-Footnote-1956059
+Node: Cached values956122
+Ref: Cached values-Footnote-1959626
+Node: Array Manipulation959717
+Ref: Array Manipulation-Footnote-1960815
+Node: Array Data Types960854
+Ref: Array Data Types-Footnote-1963557
+Node: Array Functions963649
+Node: Flattening Arrays967523
+Node: Creating Arrays974375
+Node: Extension API Variables979106
+Node: Extension Versioning979742
+Node: Extension API Informational Variables981643
+Node: Extension API Boilerplate982729
+Node: Finding Extensions986533
+Node: Extension Example987093
+Node: Internal File Description987823
+Node: Internal File Ops991914
+Ref: Internal File Ops-Footnote-11003346
+Node: Using Internal File Ops1003486
+Ref: Using Internal File Ops-Footnote-11005833
+Node: Extension Samples1006101
+Node: Extension Sample File Functions1007625
+Node: Extension Sample Fnmatch1015193
+Node: Extension Sample Fork1016675
+Node: Extension Sample Inplace1017888
+Node: Extension Sample Ord1019563
+Node: Extension Sample Readdir1020399
+Ref: table-readdir-file-types1021255
+Node: Extension Sample Revout1022054
+Node: Extension Sample Rev2way1022645
+Node: Extension Sample Read write array1023386
+Node: Extension Sample Readfile1025265
+Node: Extension Sample API Tests1026365
+Node: Extension Sample Time1026890
+Node: gawkextlib1028205
+Node: Extension summary1031018
+Node: Extension Exercises1034711
+Node: Language History1035433
+Node: V7/SVR3.11037076
+Node: SVR41039396
+Node: POSIX1040838
+Node: BTL1042224
+Node: POSIX/GNU1042958
+Node: Feature History1048557
+Node: Common Extensions1061687
+Node: Ranges and Locales1062999
+Ref: Ranges and Locales-Footnote-11067616
+Ref: Ranges and Locales-Footnote-21067643
+Ref: Ranges and Locales-Footnote-31067877
+Node: Contributors1068098
+Node: History summary1073523
+Node: Installation1074892
+Node: Gawk Distribution1075843
+Node: Getting1076327
+Node: Extracting1077151
+Node: Distribution contents1078793
+Node: Unix Installation1084510
+Node: Quick Installation1085127
+Node: Additional Configuration Options1087569
+Node: Configuration Philosophy1089307
+Node: Non-Unix Installation1091658
+Node: PC Installation1092116
+Node: PC Binary Installation1093427
+Node: PC Compiling1095275
+Ref: PC Compiling-Footnote-11098274
+Node: PC Testing1098379
+Node: PC Using1099555
+Node: Cygwin1103713
+Node: MSYS1104522
+Node: VMS Installation1105036
+Node: VMS Compilation1105832
+Ref: VMS Compilation-Footnote-11107054
+Node: VMS Dynamic Extensions1107112
+Node: VMS Installation Details1108485
+Node: VMS Running1110737
+Node: VMS GNV1113571
+Node: VMS Old Gawk1114294
+Node: Bugs1114764
+Node: Other Versions1118768
+Node: Installation summary1125023
+Node: Notes1126079
+Node: Compatibility Mode1126944
+Node: Additions1127726
+Node: Accessing The Source1128651
+Node: Adding Code1130087
+Node: New Ports1136265
+Node: Derived Files1140746
+Ref: Derived Files-Footnote-11145827
+Ref: Derived Files-Footnote-21145861
+Ref: Derived Files-Footnote-31146457
+Node: Future Extensions1146571
+Node: Implementation Limitations1147177
+Node: Extension Design1148425
+Node: Old Extension Problems1149579
+Ref: Old Extension Problems-Footnote-11151096
+Node: Extension New Mechanism Goals1151153
+Ref: Extension New Mechanism Goals-Footnote-11154513
+Node: Extension Other Design Decisions1154702
+Node: Extension Future Growth1156808
+Node: Old Extension Mechanism1157644
+Node: Notes summary1159406
+Node: Basic Concepts1160592
+Node: Basic High Level1161273
+Ref: figure-general-flow1161545
+Ref: figure-process-flow1162144
+Ref: Basic High Level-Footnote-11165373
+Node: Basic Data Typing1165558
+Node: Glossary1168886
+Node: Copying1194038
+Node: GNU Free Documentation License1231594
+Node: Index1256730

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 85c6dab3..f8fc1269 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3302,7 +3302,7 @@ $ gawk 'BEGIN @{ print "dont panic" # a friendly \
> BEGIN rule
> @}'
@error{} gawk: cmd. line:2: BEGIN rule
-@error{} gawk: cmd. line:2: ^ parse error
+@error{} gawk: cmd. line:2: ^ syntax error
@end example
@noindent
@@ -34070,7 +34070,7 @@ flags in the @code{FNM} array.
The flags are follows:
@multitable @columnfractions .25 .75
-@headitem Array element @tab Corresponding lag defined by @code{fnmatch()}
+@headitem Array element @tab Corresponding flag defined by @code{fnmatch()}
@item @code{FNM["CASEFOLD"]} @tab @code{FNM_CASEFOLD}
@item @code{FNM["FILE_NAME"]} @tab @code{FNM_FILE_NAME}
@item @code{FNM["LEADING_DIR"]} @tab @code{FNM_LEADING_DIR}
@@ -34485,7 +34485,7 @@ main @command{gawk} distribution.
@cindex @command{git} utility
You can check out the code for the @code{gawkextlib} project
-using the @uref{http://git-scm.com, GIT} distributed source
+using the @uref{http://git-scm.com, Git} distributed source
code control system. The command is as follows:
@example
@@ -36285,7 +36285,6 @@ into a byte-code interpreter, including the debugger.
@item
The addition of true arrays of arrays.
-@ref{Arrays of Arrays}.
@item
The additional modifications for support of arbitrary precision arithmetic.
@@ -36307,6 +36306,7 @@ with Pat Rankin.
@end itemize
@cindex Papadopoulos, Panos
+@item
Panos Papadopoulos contributed the original text for @ref{Include Files}.
@item
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 13e46315..00d544b4 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3230,7 +3230,7 @@ $ gawk 'BEGIN @{ print "dont panic" # a friendly \
> BEGIN rule
> @}'
@error{} gawk: cmd. line:2: BEGIN rule
-@error{} gawk: cmd. line:2: ^ parse error
+@error{} gawk: cmd. line:2: ^ syntax error
@end example
@noindent
@@ -33185,7 +33185,7 @@ flags in the @code{FNM} array.
The flags are follows:
@multitable @columnfractions .25 .75
-@headitem Array element @tab Corresponding lag defined by @code{fnmatch()}
+@headitem Array element @tab Corresponding flag defined by @code{fnmatch()}
@item @code{FNM["CASEFOLD"]} @tab @code{FNM_CASEFOLD}
@item @code{FNM["FILE_NAME"]} @tab @code{FNM_FILE_NAME}
@item @code{FNM["LEADING_DIR"]} @tab @code{FNM_LEADING_DIR}
@@ -33600,7 +33600,7 @@ main @command{gawk} distribution.
@cindex @command{git} utility
You can check out the code for the @code{gawkextlib} project
-using the @uref{http://git-scm.com, GIT} distributed source
+using the @uref{http://git-scm.com, Git} distributed source
code control system. The command is as follows:
@example
@@ -35400,7 +35400,6 @@ into a byte-code interpreter, including the debugger.
@item
The addition of true arrays of arrays.
-@ref{Arrays of Arrays}.
@item
The additional modifications for support of arbitrary precision arithmetic.
@@ -35422,6 +35421,7 @@ with Pat Rankin.
@end itemize
@cindex Papadopoulos, Panos
+@item
Panos Papadopoulos contributed the original text for @ref{Include Files}.
@item
diff --git a/regcomp.c b/regcomp.c
index 776b7134..a62364c9 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -2476,14 +2476,22 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS
|| token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM)
{
- tree = parse_dup_op (tree, regexp, dfa, token, syntax, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
+ bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token,
+ syntax, err);
+ if (BE (*err != REG_NOERROR && dup_tree == NULL, 0))
+ {
+ if (tree != NULL)
+ postorder (tree, free_tree, NULL);
+ return NULL;
+ }
+ tree = dup_tree;
/* In BRE consecutive duplications are not allowed. */
if ((syntax & RE_CONTEXT_INVALID_DUP)
&& (token->type == OP_DUP_ASTERISK
|| token->type == OP_OPEN_DUP_NUM))
{
+ if (tree != NULL)
+ postorder (tree, free_tree, NULL);
*err = REG_BADRPT;
return NULL;
}