diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-07-31 20:29:38 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-07-31 20:29:38 +0300 |
commit | d60fb05cc5db4f1ee1176a9ed7f053011f8521aa (patch) | |
tree | 2471e5d7757a3aad0f9fbf6722964a30ae1b01ee | |
parent | cafa8fcd5a5d593f4638b199fbf5f94a006a4aac (diff) | |
parent | 54146e27c8fd7756a944d0e168aa969624567b55 (diff) | |
download | egawk-d60fb05cc5db4f1ee1176a9ed7f053011f8521aa.tar.gz egawk-d60fb05cc5db4f1ee1176a9ed7f053011f8521aa.tar.bz2 egawk-d60fb05cc5db4f1ee1176a9ed7f053011f8521aa.zip |
Merge branch 'master' into comment
-rw-r--r-- | ChangeLog | 37 | ||||
-rw-r--r-- | awk.h | 3 | ||||
-rw-r--r-- | dfa.c | 16 | ||||
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 687 | ||||
-rw-r--r-- | doc/gawk.texi | 15 | ||||
-rw-r--r-- | doc/gawktexi.in | 15 | ||||
-rw-r--r-- | extension/ChangeLog | 8 | ||||
-rw-r--r-- | extension/Makefile.am | 2 | ||||
-rw-r--r-- | extension/Makefile.in | 2 | ||||
-rw-r--r-- | interpret.h | 2 | ||||
-rw-r--r-- | io.c | 10 | ||||
-rw-r--r-- | main.c | 9 | ||||
-rw-r--r-- | mpfr.c | 11 | ||||
-rw-r--r-- | po/it.po | 32 | ||||
-rw-r--r-- | test/ChangeLog | 9 | ||||
-rw-r--r-- | test/badargs.ok | 2 | ||||
-rw-r--r-- | test/printhuge.awk | 2 | ||||
-rw-r--r-- | test/printhuge.ok | 2 |
19 files changed, 478 insertions, 392 deletions
@@ -1,3 +1,40 @@ +2014-07-31 Arnold D. Robbins <arnold@skeeve.com> + + * dfa.c: Sync with GNU grep. Mainly white space differences. + + Unrelated: + + * mpfr.c (cleanup_mpfr): New function to deallocate _mpf_t1 + and _mpf_t2; removes some valgrind warnings. + * awk.h (cleanup_mpfr): Add declaration. + * main.c (main): Add call to `cleanup_mpfr'. + + Fix memory leak: + + * mpfr.c (do_mpfr_div): Add unref to denominator and numerator + to not leak memory. Thanks to Katie Wasserman <katie@wass.net> + for isolating the problem to that routine. + +2014-07-25 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (main): Add a warning message if -M is used and gawk was + compiled without MPFR/GMP. + +2014-07-24 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (usage): Put text for `-n' *after* text for `-m'. + Report from Robert P. J. Day <rpjday@crashcourse.ca>. + + Fix problems with I/O errors reported by Assaf Gordon + <assafgordon@gmail.com>: + + * io.c (inrec): Change type to bool to make calling easier. Add + check in non-EOF case for error, and if so, return false. + Update ERRNO in case there is an ENDFILE block. + * awk.h (inrec): Change type in declaration. + * interpret.h (r_interpret): Change call of inrec() to boolean + notation. + 2014-07-10 Arnold D. Robbins <arnold@skeeve.com> New `div()' function to do integer division and remainder; @@ -1534,7 +1534,7 @@ extern char *find_source(const char *src, struct stat *stb, int *errcode, int is extern NODE *do_getline_redir(int intovar, enum redirval redirtype); extern NODE *do_getline(int intovar, IOBUF *iop); extern struct redirect *getredirect(const char *str, int len); -extern int inrec(IOBUF *iop, int *errcode); +extern bool inrec(IOBUF *iop, int *errcode); extern int nextfile(IOBUF **curfile, bool skipping); /* main.c */ extern int arg_assign(char *arg, bool initing); @@ -1571,6 +1571,7 @@ extern NODE *do_mpfr_srand(int); extern NODE *do_mpfr_strtonum(int); extern NODE *do_mpfr_xor(int); extern void init_mpfr(mpfr_prec_t, const char *); +extern void cleanup_mpfr(void); extern NODE *mpg_node(unsigned int); extern const char *mpg_fmt(const char *, ...); extern int mpg_strtoui(mpz_ptr, char *, size_t, char **, int); @@ -1204,7 +1204,8 @@ parse_bracket_exp (void) if (wc != WEOF && wc2 != WEOF) { work_mbc->ranges - = maybe_realloc (work_mbc->ranges, work_mbc->nranges + 2, + = maybe_realloc (work_mbc->ranges, + work_mbc->nranges + 2, &ranges_al, sizeof *work_mbc->ranges); work_mbc->ranges[work_mbc->nranges].beg = case_fold ? towlower (wc) : wc; @@ -1213,7 +1214,8 @@ parse_bracket_exp (void) if (case_fold && (iswalpha (wc) || iswalpha (wc2))) { - work_mbc->ranges[work_mbc->nranges].beg = towupper (wc); + work_mbc->ranges[work_mbc->nranges].beg + = towupper (wc); work_mbc->ranges[work_mbc->nranges++].end = towupper (wc2); } @@ -3783,13 +3785,13 @@ dfafree (struct dfa *d) CAT (p->is==ZERO)? (q->is==ZERO)? (p->is!=ZERO && p->in plus p->left : q->right : q->is!=ZERO) ? q->in plus - p->is##q->left p->right##q->is p->is##q->is : p->right##q->left + p->is##q->left p->right##q->is p->is##q->is : p->right##q->left ZERO - OR longest common longest common (do p->is and substrings common to - leading trailing q->is have same p->in and q->in - (sub)sequence (sub)sequence length and - of p->left of p->right content) ? + OR longest common longest common (do p->is and substrings common + leading trailing to q->is have same p->in and + (sub)sequence (sub)sequence q->in length and content) ? + of p->left of p->right and q->left and q->right p->is : NULL If there's anything else we recognize in the tree, all four sequences get set diff --git a/doc/ChangeLog b/doc/ChangeLog index f69e401d..9bf0b156 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2014-07-24 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Numeric Functions): For `div()', clarify + truncation is towards zero. Thanks to Michal Jaegermann + for pointing out the need to clarify this. + 2014-07-10 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Numeric Functions): Document new `div()' function. diff --git a/doc/gawk.info b/doc/gawk.info index e7854caf..e6c9a5d4 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -11682,14 +11682,15 @@ brackets ([ ]): `div(NUMERATOR, DENOMINATOR, RESULT)' Perform integer division, similar to the standard C function of the - same name. First, truncate `numerator' and `denominator' to - integers. Clear the `result' array, and then set - `result["quotient"]' to the result of `numerator / denominator', - truncated to an integer, and set `result["remainder"]' to the - result of `numerator % denominator', truncated to an integer. - This function is primarily intended for use with arbitrary length - integers; it avoids creating MPFR arbitrary precision - floating-point values (*note Arbitrary Precision Integers::). + same name. First, truncate `numerator' and `denominator' towards + zero, creating integer values. Clear the `result' array, and then + set `result["quotient"]' to the result of `numerator / + denominator', truncated towards zero to an integer, and set + `result["remainder"]' to the result of `numerator % denominator', + truncated towards zero to an integer. This function is primarily + intended for use with arbitrary length integers; it avoids + creating MPFR arbitrary precision floating-point values (*note + Arbitrary Precision Integers::). This function is a `gawk' extension. It is not available in compatibility mode (*note Options::). @@ -32163,10 +32164,10 @@ Index * exit status, of VMS: VMS Running. (line 29) * exit the debugger: Miscellaneous Debugger Commands. (line 99) -* exp: Numeric Functions. (line 32) +* exp: Numeric Functions. (line 33) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 35) -* exponent: Numeric Functions. (line 32) +* exponent: Numeric Functions. (line 33) * expressions: Expressions. (line 6) * expressions, as patterns: Expression Patterns. (line 6) * expressions, assignment: Assignment Ops. (line 6) @@ -32702,7 +32703,7 @@ Index * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 89) -* int: Numeric Functions. (line 37) +* int: Numeric Functions. (line 38) * INT signal (MS-Windows): Profiling. (line 214) * integer array indices: Numeric Array Subscripts. (line 31) @@ -32851,9 +32852,9 @@ Index * localization: I18N and L10N. (line 6) * localization, See internationalization, localization: I18N and L10N. (line 6) -* log: Numeric Functions. (line 44) +* log: Numeric Functions. (line 45) * log files, timestamps in: Time Functions. (line 6) -* logarithm: Numeric Functions. (line 44) +* logarithm: Numeric Functions. (line 45) * logical false/true: Truth Values. (line 6) * logical operators, See Boolean expressions: Boolean Ops. (line 6) * login information: Passwd Functions. (line 16) @@ -33310,12 +33311,12 @@ Index * Rakitzis, Byron: History Sorting. (line 25) * Ramey, Chet <1>: General Data Types. (line 6) * Ramey, Chet: Acknowledgments. (line 60) -* rand: Numeric Functions. (line 48) +* rand: Numeric Functions. (line 49) * random numbers, Cliff: Cliff Random Function. (line 6) * random numbers, rand()/srand() functions: Numeric Functions. - (line 48) -* random numbers, seed of: Numeric Functions. (line 78) + (line 49) +* random numbers, seed of: Numeric Functions. (line 79) * range expressions (regexps): Bracket Expressions. (line 6) * range patterns: Ranges. (line 6) * range patterns, line continuation and: Ranges. (line 65) @@ -33443,7 +33444,7 @@ Index * Robbins, Miriam <2>: Getline/Pipe. (line 39) * Robbins, Miriam: Acknowledgments. (line 82) * Rommel, Kai Uwe: Contributors. (line 42) -* round to nearest integer: Numeric Functions. (line 37) +* round to nearest integer: Numeric Functions. (line 38) * round() user-defined function: Round Function. (line 16) * rounding numbers: Round Function. (line 6) * ROUNDMODE variable: User-modified. (line 128) @@ -33493,7 +33494,7 @@ Index * sed utility <2>: Simple Sed. (line 6) * sed utility: Field Splitting Summary. (line 46) -* seeding random number generator: Numeric Functions. (line 78) +* seeding random number generator: Numeric Functions. (line 79) * semicolon (;), AWKPATH variable and: PC Using. (line 10) * semicolon (;), separating statements in actions <1>: Statements. (line 10) @@ -33595,8 +33596,8 @@ Index * SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) -* sin: Numeric Functions. (line 89) -* sine: Numeric Functions. (line 89) +* sin: Numeric Functions. (line 90) +* sine: Numeric Functions. (line 90) * single quote ('): One-shot. (line 15) * single quote (') in gawk command lines: Long. (line 33) * single quote ('), in shell commands: Quoting. (line 48) @@ -33646,10 +33647,10 @@ Index * sprintf() function, OFMT variable and: User-modified. (line 114) * sprintf() function, print/printf statements and: Round Function. (line 6) -* sqrt: Numeric Functions. (line 92) +* sqrt: Numeric Functions. (line 93) * square brackets ([]), regexp operator: Regexp Operators. (line 56) -* square root: Numeric Functions. (line 92) -* srand: Numeric Functions. (line 96) +* square root: Numeric Functions. (line 93) +* srand: Numeric Functions. (line 97) * stack frame: Debugging Terms. (line 10) * Stallman, Richard <1>: Glossary. (line 296) * Stallman, Richard <2>: Contributors. (line 23) @@ -34218,325 +34219,325 @@ Node: Functions489801 Node: Built-in490674 Node: Calling Built-in491752 Node: Numeric Functions493740 -Ref: Numeric Functions-Footnote-1498318 -Ref: Numeric Functions-Footnote-2498675 -Ref: Numeric Functions-Footnote-3498723 -Node: String Functions498992 -Ref: String Functions-Footnote-1522003 -Ref: String Functions-Footnote-2522132 -Ref: String Functions-Footnote-3522380 -Node: Gory Details522467 -Ref: table-sub-escapes524136 -Ref: table-sub-posix-92525490 -Ref: table-sub-proposed526841 -Ref: table-posix-sub528195 -Ref: table-gensub-escapes529740 -Ref: Gory Details-Footnote-1530916 -Ref: Gory Details-Footnote-2530967 -Node: I/O Functions531118 -Ref: I/O Functions-Footnote-1538241 -Node: Time Functions538388 -Ref: Time Functions-Footnote-1548852 -Ref: Time Functions-Footnote-2548920 -Ref: Time Functions-Footnote-3549078 -Ref: Time Functions-Footnote-4549189 -Ref: Time Functions-Footnote-5549301 -Ref: Time Functions-Footnote-6549528 -Node: Bitwise Functions549794 -Ref: table-bitwise-ops550356 -Ref: Bitwise Functions-Footnote-1554601 -Node: Type Functions554785 -Node: I18N Functions555927 -Node: User-defined557572 -Node: Definition Syntax558376 -Ref: Definition Syntax-Footnote-1563555 -Node: Function Example563624 -Ref: Function Example-Footnote-1566268 -Node: Function Caveats566290 -Node: Calling A Function566808 -Node: Variable Scope567763 -Node: Pass By Value/Reference570751 -Node: Return Statement574259 -Node: Dynamic Typing577243 -Node: Indirect Calls578172 -Node: Functions Summary587885 -Node: Library Functions590424 -Ref: Library Functions-Footnote-1594042 -Ref: Library Functions-Footnote-2594185 -Node: Library Names594356 -Ref: Library Names-Footnote-1597829 -Ref: Library Names-Footnote-2598049 -Node: General Functions598135 -Node: Strtonum Function599163 -Node: Assert Function601943 -Node: Round Function605269 -Node: Cliff Random Function606810 -Node: Ordinal Functions607826 -Ref: Ordinal Functions-Footnote-1610903 -Ref: Ordinal Functions-Footnote-2611155 -Node: Join Function611366 -Ref: Join Function-Footnote-1613137 -Node: Getlocaltime Function613337 -Node: Readfile Function617073 -Node: Data File Management618912 -Node: Filetrans Function619544 -Node: Rewind Function623613 -Node: File Checking625000 -Ref: File Checking-Footnote-1626132 -Node: Empty Files626333 -Node: Ignoring Assigns628312 -Node: Getopt Function629866 -Ref: Getopt Function-Footnote-1641169 -Node: Passwd Functions641372 -Ref: Passwd Functions-Footnote-1650351 -Node: Group Functions650439 -Ref: Group Functions-Footnote-1658380 -Node: Walking Arrays658593 -Node: Library Functions Summary660196 -Node: Library exercises661584 -Node: Sample Programs662864 -Node: Running Examples663634 -Node: Clones664362 -Node: Cut Program665586 -Node: Egrep Program675454 -Ref: Egrep Program-Footnote-1683425 -Node: Id Program683535 -Node: Split Program687199 -Ref: Split Program-Footnote-1690737 -Node: Tee Program690865 -Node: Uniq Program693672 -Node: Wc Program701102 -Ref: Wc Program-Footnote-1705367 -Node: Miscellaneous Programs705459 -Node: Dupword Program706672 -Node: Alarm Program708703 -Node: Translate Program713517 -Ref: Translate Program-Footnote-1717908 -Ref: Translate Program-Footnote-2718178 -Node: Labels Program718312 -Ref: Labels Program-Footnote-1721683 -Node: Word Sorting721767 -Node: History Sorting725810 -Node: Extract Program727646 -Node: Simple Sed735182 -Node: Igawk Program738244 -Ref: Igawk Program-Footnote-1752555 -Ref: Igawk Program-Footnote-2752756 -Node: Anagram Program752894 -Node: Signature Program755962 -Node: Programs Summary757209 -Node: Programs Exercises758424 -Node: Advanced Features762075 -Node: Nondecimal Data764023 -Node: Array Sorting765600 -Node: Controlling Array Traversal766297 -Node: Array Sorting Functions774577 -Ref: Array Sorting Functions-Footnote-1778484 -Node: Two-way I/O778678 -Ref: Two-way I/O-Footnote-1784194 -Node: TCP/IP Networking784276 -Node: Profiling787120 -Node: Advanced Features Summary794671 -Node: Internationalization796535 -Node: I18N and L10N798015 -Node: Explaining gettext798701 -Ref: Explaining gettext-Footnote-1803841 -Ref: Explaining gettext-Footnote-2804025 -Node: Programmer i18n804190 -Node: Translator i18n808415 -Node: String Extraction809209 -Ref: String Extraction-Footnote-1810170 -Node: Printf Ordering810256 -Ref: Printf Ordering-Footnote-1813038 -Node: I18N Portability813102 -Ref: I18N Portability-Footnote-1815551 -Node: I18N Example815614 -Ref: I18N Example-Footnote-1818336 -Node: Gawk I18N818408 -Node: I18N Summary819046 -Node: Debugger820385 -Node: Debugging821407 -Node: Debugging Concepts821848 -Node: Debugging Terms823704 -Node: Awk Debugging826301 -Node: Sample Debugging Session827193 -Node: Debugger Invocation827713 -Node: Finding The Bug829046 -Node: List of Debugger Commands835528 -Node: Breakpoint Control836860 -Node: Debugger Execution Control840524 -Node: Viewing And Changing Data843884 -Node: Execution Stack847242 -Node: Debugger Info848755 -Node: Miscellaneous Debugger Commands852749 -Node: Readline Support857933 -Node: Limitations858825 -Node: Debugging Summary861099 -Node: Arbitrary Precision Arithmetic862263 -Node: Computer Arithmetic863592 -Ref: Computer Arithmetic-Footnote-1867979 -Node: Math Definitions868036 -Ref: table-ieee-formats870920 -Node: MPFR features871424 -Node: FP Math Caution873066 -Ref: FP Math Caution-Footnote-1874107 -Node: Inexactness of computations874476 -Node: Inexact representation875424 -Node: Comparing FP Values876779 -Node: Errors accumulate877743 -Node: Getting Accuracy879176 -Node: Try To Round881835 -Node: Setting precision882734 -Ref: table-predefined-precision-strings883416 -Node: Setting the rounding mode885209 -Ref: table-gawk-rounding-modes885573 -Ref: Setting the rounding mode-Footnote-1889027 -Node: Arbitrary Precision Integers889206 -Ref: Arbitrary Precision Integers-Footnote-1893001 -Node: POSIX Floating Point Problems893150 -Ref: POSIX Floating Point Problems-Footnote-1897026 -Node: Floating point summary897064 -Node: Dynamic Extensions899281 -Node: Extension Intro900833 -Node: Plugin License902098 -Node: Extension Mechanism Outline902783 -Ref: figure-load-extension903207 -Ref: figure-load-new-function904692 -Ref: figure-call-new-function905694 -Node: Extension API Description907678 -Node: Extension API Functions Introduction909128 -Node: General Data Types913993 -Ref: General Data Types-Footnote-1919686 -Node: Requesting Values919985 -Ref: table-value-types-returned920722 -Node: Memory Allocation Functions921680 -Ref: Memory Allocation Functions-Footnote-1924427 -Node: Constructor Functions924523 -Node: Registration Functions926281 -Node: Extension Functions926966 -Node: Exit Callback Functions929268 -Node: Extension Version String930517 -Node: Input Parsers931167 -Node: Output Wrappers940970 -Node: Two-way processors945486 -Node: Printing Messages947690 -Ref: Printing Messages-Footnote-1948767 -Node: Updating `ERRNO'948919 -Node: Accessing Parameters949658 -Node: Symbol Table Access950888 -Node: Symbol table by name951402 -Node: Symbol table by cookie953378 -Ref: Symbol table by cookie-Footnote-1957511 -Node: Cached values957574 -Ref: Cached values-Footnote-1961078 -Node: Array Manipulation961169 -Ref: Array Manipulation-Footnote-1962267 -Node: Array Data Types962306 -Ref: Array Data Types-Footnote-1965009 -Node: Array Functions965101 -Node: Flattening Arrays968975 -Node: Creating Arrays975827 -Node: Extension API Variables980558 -Node: Extension Versioning981194 -Node: Extension API Informational Variables983095 -Node: Extension API Boilerplate984181 -Node: Finding Extensions987985 -Node: Extension Example988545 -Node: Internal File Description989275 -Node: Internal File Ops993366 -Ref: Internal File Ops-Footnote-11004798 -Node: Using Internal File Ops1004938 -Ref: Using Internal File Ops-Footnote-11007285 -Node: Extension Samples1007553 -Node: Extension Sample File Functions1009077 -Node: Extension Sample Fnmatch1016645 -Node: Extension Sample Fork1018127 -Node: Extension Sample Inplace1019340 -Node: Extension Sample Ord1021015 -Node: Extension Sample Readdir1021851 -Ref: table-readdir-file-types1022707 -Node: Extension Sample Revout1023506 -Node: Extension Sample Rev2way1024097 -Node: Extension Sample Read write array1024838 -Node: Extension Sample Readfile1026717 -Node: Extension Sample API Tests1027817 -Node: Extension Sample Time1028342 -Node: gawkextlib1029657 -Node: Extension summary1032470 -Node: Extension Exercises1036163 -Node: Language History1036885 -Node: V7/SVR3.11038528 -Node: SVR41040848 -Node: POSIX1042290 -Node: BTL1043676 -Node: POSIX/GNU1044410 -Node: Feature History1050009 -Node: Common Extensions1063139 -Node: Ranges and Locales1064451 -Ref: Ranges and Locales-Footnote-11069068 -Ref: Ranges and Locales-Footnote-21069095 -Ref: Ranges and Locales-Footnote-31069329 -Node: Contributors1069550 -Node: History summary1074975 -Node: Installation1076344 -Node: Gawk Distribution1077295 -Node: Getting1077779 -Node: Extracting1078603 -Node: Distribution contents1080245 -Node: Unix Installation1086015 -Node: Quick Installation1086632 -Node: Additional Configuration Options1089074 -Node: Configuration Philosophy1090812 -Node: Non-Unix Installation1093163 -Node: PC Installation1093621 -Node: PC Binary Installation1094932 -Node: PC Compiling1096780 -Ref: PC Compiling-Footnote-11099779 -Node: PC Testing1099884 -Node: PC Using1101060 -Node: Cygwin1105218 -Node: MSYS1106027 -Node: VMS Installation1106541 -Node: VMS Compilation1107337 -Ref: VMS Compilation-Footnote-11108559 -Node: VMS Dynamic Extensions1108617 -Node: VMS Installation Details1109990 -Node: VMS Running1112242 -Node: VMS GNV1115076 -Node: VMS Old Gawk1115799 -Node: Bugs1116269 -Node: Other Versions1120273 -Node: Installation summary1126528 -Node: Notes1127584 -Node: Compatibility Mode1128449 -Node: Additions1129231 -Node: Accessing The Source1130156 -Node: Adding Code1131592 -Node: New Ports1137770 -Node: Derived Files1142251 -Ref: Derived Files-Footnote-11147332 -Ref: Derived Files-Footnote-21147366 -Ref: Derived Files-Footnote-31147962 -Node: Future Extensions1148076 -Node: Implementation Limitations1148682 -Node: Extension Design1149930 -Node: Old Extension Problems1151084 -Ref: Old Extension Problems-Footnote-11152601 -Node: Extension New Mechanism Goals1152658 -Ref: Extension New Mechanism Goals-Footnote-11156018 -Node: Extension Other Design Decisions1156207 -Node: Extension Future Growth1158313 -Node: Old Extension Mechanism1159149 -Node: Notes summary1160911 -Node: Basic Concepts1162097 -Node: Basic High Level1162778 -Ref: figure-general-flow1163050 -Ref: figure-process-flow1163649 -Ref: Basic High Level-Footnote-11166878 -Node: Basic Data Typing1167063 -Node: Glossary1170391 -Node: Copying1195543 -Node: GNU Free Documentation License1233099 -Node: Index1258235 +Ref: Numeric Functions-Footnote-1498376 +Ref: Numeric Functions-Footnote-2498733 +Ref: Numeric Functions-Footnote-3498781 +Node: String Functions499050 +Ref: String Functions-Footnote-1522061 +Ref: String Functions-Footnote-2522190 +Ref: String Functions-Footnote-3522438 +Node: Gory Details522525 +Ref: table-sub-escapes524194 +Ref: table-sub-posix-92525548 +Ref: table-sub-proposed526899 +Ref: table-posix-sub528253 +Ref: table-gensub-escapes529798 +Ref: Gory Details-Footnote-1530974 +Ref: Gory Details-Footnote-2531025 +Node: I/O Functions531176 +Ref: I/O Functions-Footnote-1538299 +Node: Time Functions538446 +Ref: Time Functions-Footnote-1548910 +Ref: Time Functions-Footnote-2548978 +Ref: Time Functions-Footnote-3549136 +Ref: Time Functions-Footnote-4549247 +Ref: Time Functions-Footnote-5549359 +Ref: Time Functions-Footnote-6549586 +Node: Bitwise Functions549852 +Ref: table-bitwise-ops550414 +Ref: Bitwise Functions-Footnote-1554659 +Node: Type Functions554843 +Node: I18N Functions555985 +Node: User-defined557630 +Node: Definition Syntax558434 +Ref: Definition Syntax-Footnote-1563613 +Node: Function Example563682 +Ref: Function Example-Footnote-1566326 +Node: Function Caveats566348 +Node: Calling A Function566866 +Node: Variable Scope567821 +Node: Pass By Value/Reference570809 +Node: Return Statement574317 +Node: Dynamic Typing577301 +Node: Indirect Calls578230 +Node: Functions Summary587943 +Node: Library Functions590482 +Ref: Library Functions-Footnote-1594100 +Ref: Library Functions-Footnote-2594243 +Node: Library Names594414 +Ref: Library Names-Footnote-1597887 +Ref: Library Names-Footnote-2598107 +Node: General Functions598193 +Node: Strtonum Function599221 +Node: Assert Function602001 +Node: Round Function605327 +Node: Cliff Random Function606868 +Node: Ordinal Functions607884 +Ref: Ordinal Functions-Footnote-1610961 +Ref: Ordinal Functions-Footnote-2611213 +Node: Join Function611424 +Ref: Join Function-Footnote-1613195 +Node: Getlocaltime Function613395 +Node: Readfile Function617131 +Node: Data File Management618970 +Node: Filetrans Function619602 +Node: Rewind Function623671 +Node: File Checking625058 +Ref: File Checking-Footnote-1626190 +Node: Empty Files626391 +Node: Ignoring Assigns628370 +Node: Getopt Function629924 +Ref: Getopt Function-Footnote-1641227 +Node: Passwd Functions641430 +Ref: Passwd Functions-Footnote-1650409 +Node: Group Functions650497 +Ref: Group Functions-Footnote-1658438 +Node: Walking Arrays658651 +Node: Library Functions Summary660254 +Node: Library exercises661642 +Node: Sample Programs662922 +Node: Running Examples663692 +Node: Clones664420 +Node: Cut Program665644 +Node: Egrep Program675512 +Ref: Egrep Program-Footnote-1683483 +Node: Id Program683593 +Node: Split Program687257 +Ref: Split Program-Footnote-1690795 +Node: Tee Program690923 +Node: Uniq Program693730 +Node: Wc Program701160 +Ref: Wc Program-Footnote-1705425 +Node: Miscellaneous Programs705517 +Node: Dupword Program706730 +Node: Alarm Program708761 +Node: Translate Program713575 +Ref: Translate Program-Footnote-1717966 +Ref: Translate Program-Footnote-2718236 +Node: Labels Program718370 +Ref: Labels Program-Footnote-1721741 +Node: Word Sorting721825 +Node: History Sorting725868 +Node: Extract Program727704 +Node: Simple Sed735240 +Node: Igawk Program738302 +Ref: Igawk Program-Footnote-1752613 +Ref: Igawk Program-Footnote-2752814 +Node: Anagram Program752952 +Node: Signature Program756020 +Node: Programs Summary757267 +Node: Programs Exercises758482 +Node: Advanced Features762133 +Node: Nondecimal Data764081 +Node: Array Sorting765658 +Node: Controlling Array Traversal766355 +Node: Array Sorting Functions774635 +Ref: Array Sorting Functions-Footnote-1778542 +Node: Two-way I/O778736 +Ref: Two-way I/O-Footnote-1784252 +Node: TCP/IP Networking784334 +Node: Profiling787178 +Node: Advanced Features Summary794729 +Node: Internationalization796593 +Node: I18N and L10N798073 +Node: Explaining gettext798759 +Ref: Explaining gettext-Footnote-1803899 +Ref: Explaining gettext-Footnote-2804083 +Node: Programmer i18n804248 +Node: Translator i18n808473 +Node: String Extraction809267 +Ref: String Extraction-Footnote-1810228 +Node: Printf Ordering810314 +Ref: Printf Ordering-Footnote-1813096 +Node: I18N Portability813160 +Ref: I18N Portability-Footnote-1815609 +Node: I18N Example815672 +Ref: I18N Example-Footnote-1818394 +Node: Gawk I18N818466 +Node: I18N Summary819104 +Node: Debugger820443 +Node: Debugging821465 +Node: Debugging Concepts821906 +Node: Debugging Terms823762 +Node: Awk Debugging826359 +Node: Sample Debugging Session827251 +Node: Debugger Invocation827771 +Node: Finding The Bug829104 +Node: List of Debugger Commands835586 +Node: Breakpoint Control836918 +Node: Debugger Execution Control840582 +Node: Viewing And Changing Data843942 +Node: Execution Stack847300 +Node: Debugger Info848813 +Node: Miscellaneous Debugger Commands852807 +Node: Readline Support857991 +Node: Limitations858883 +Node: Debugging Summary861157 +Node: Arbitrary Precision Arithmetic862321 +Node: Computer Arithmetic863650 +Ref: Computer Arithmetic-Footnote-1868037 +Node: Math Definitions868094 +Ref: table-ieee-formats870978 +Node: MPFR features871482 +Node: FP Math Caution873124 +Ref: FP Math Caution-Footnote-1874165 +Node: Inexactness of computations874534 +Node: Inexact representation875482 +Node: Comparing FP Values876837 +Node: Errors accumulate877801 +Node: Getting Accuracy879234 +Node: Try To Round881893 +Node: Setting precision882792 +Ref: table-predefined-precision-strings883474 +Node: Setting the rounding mode885267 +Ref: table-gawk-rounding-modes885631 +Ref: Setting the rounding mode-Footnote-1889085 +Node: Arbitrary Precision Integers889264 +Ref: Arbitrary Precision Integers-Footnote-1893059 +Node: POSIX Floating Point Problems893208 +Ref: POSIX Floating Point Problems-Footnote-1897084 +Node: Floating point summary897122 +Node: Dynamic Extensions899339 +Node: Extension Intro900891 +Node: Plugin License902156 +Node: Extension Mechanism Outline902841 +Ref: figure-load-extension903265 +Ref: figure-load-new-function904750 +Ref: figure-call-new-function905752 +Node: Extension API Description907736 +Node: Extension API Functions Introduction909186 +Node: General Data Types914051 +Ref: General Data Types-Footnote-1919744 +Node: Requesting Values920043 +Ref: table-value-types-returned920780 +Node: Memory Allocation Functions921738 +Ref: Memory Allocation Functions-Footnote-1924485 +Node: Constructor Functions924581 +Node: Registration Functions926339 +Node: Extension Functions927024 +Node: Exit Callback Functions929326 +Node: Extension Version String930575 +Node: Input Parsers931225 +Node: Output Wrappers941028 +Node: Two-way processors945544 +Node: Printing Messages947748 +Ref: Printing Messages-Footnote-1948825 +Node: Updating `ERRNO'948977 +Node: Accessing Parameters949716 +Node: Symbol Table Access950946 +Node: Symbol table by name951460 +Node: Symbol table by cookie953436 +Ref: Symbol table by cookie-Footnote-1957569 +Node: Cached values957632 +Ref: Cached values-Footnote-1961136 +Node: Array Manipulation961227 +Ref: Array Manipulation-Footnote-1962325 +Node: Array Data Types962364 +Ref: Array Data Types-Footnote-1965067 +Node: Array Functions965159 +Node: Flattening Arrays969033 +Node: Creating Arrays975885 +Node: Extension API Variables980616 +Node: Extension Versioning981252 +Node: Extension API Informational Variables983153 +Node: Extension API Boilerplate984239 +Node: Finding Extensions988043 +Node: Extension Example988603 +Node: Internal File Description989333 +Node: Internal File Ops993424 +Ref: Internal File Ops-Footnote-11004856 +Node: Using Internal File Ops1004996 +Ref: Using Internal File Ops-Footnote-11007343 +Node: Extension Samples1007611 +Node: Extension Sample File Functions1009135 +Node: Extension Sample Fnmatch1016703 +Node: Extension Sample Fork1018185 +Node: Extension Sample Inplace1019398 +Node: Extension Sample Ord1021073 +Node: Extension Sample Readdir1021909 +Ref: table-readdir-file-types1022765 +Node: Extension Sample Revout1023564 +Node: Extension Sample Rev2way1024155 +Node: Extension Sample Read write array1024896 +Node: Extension Sample Readfile1026775 +Node: Extension Sample API Tests1027875 +Node: Extension Sample Time1028400 +Node: gawkextlib1029715 +Node: Extension summary1032528 +Node: Extension Exercises1036221 +Node: Language History1036943 +Node: V7/SVR3.11038586 +Node: SVR41040906 +Node: POSIX1042348 +Node: BTL1043734 +Node: POSIX/GNU1044468 +Node: Feature History1050067 +Node: Common Extensions1063197 +Node: Ranges and Locales1064509 +Ref: Ranges and Locales-Footnote-11069126 +Ref: Ranges and Locales-Footnote-21069153 +Ref: Ranges and Locales-Footnote-31069387 +Node: Contributors1069608 +Node: History summary1075033 +Node: Installation1076402 +Node: Gawk Distribution1077353 +Node: Getting1077837 +Node: Extracting1078661 +Node: Distribution contents1080303 +Node: Unix Installation1086073 +Node: Quick Installation1086690 +Node: Additional Configuration Options1089132 +Node: Configuration Philosophy1090870 +Node: Non-Unix Installation1093221 +Node: PC Installation1093679 +Node: PC Binary Installation1094990 +Node: PC Compiling1096838 +Ref: PC Compiling-Footnote-11099837 +Node: PC Testing1099942 +Node: PC Using1101118 +Node: Cygwin1105276 +Node: MSYS1106085 +Node: VMS Installation1106599 +Node: VMS Compilation1107395 +Ref: VMS Compilation-Footnote-11108617 +Node: VMS Dynamic Extensions1108675 +Node: VMS Installation Details1110048 +Node: VMS Running1112300 +Node: VMS GNV1115134 +Node: VMS Old Gawk1115857 +Node: Bugs1116327 +Node: Other Versions1120331 +Node: Installation summary1126586 +Node: Notes1127642 +Node: Compatibility Mode1128507 +Node: Additions1129289 +Node: Accessing The Source1130214 +Node: Adding Code1131650 +Node: New Ports1137828 +Node: Derived Files1142309 +Ref: Derived Files-Footnote-11147390 +Ref: Derived Files-Footnote-21147424 +Ref: Derived Files-Footnote-31148020 +Node: Future Extensions1148134 +Node: Implementation Limitations1148740 +Node: Extension Design1149988 +Node: Old Extension Problems1151142 +Ref: Old Extension Problems-Footnote-11152659 +Node: Extension New Mechanism Goals1152716 +Ref: Extension New Mechanism Goals-Footnote-11156076 +Node: Extension Other Design Decisions1156265 +Node: Extension Future Growth1158371 +Node: Old Extension Mechanism1159207 +Node: Notes summary1160969 +Node: Basic Concepts1162155 +Node: Basic High Level1162836 +Ref: figure-general-flow1163108 +Ref: figure-process-flow1163707 +Ref: Basic High Level-Footnote-11166936 +Node: Basic Data Typing1167121 +Node: Glossary1170449 +Node: Copying1195601 +Node: GNU Free Documentation License1233157 +Node: Index1258293 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index d6db2018..1fb343de 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -16619,13 +16619,14 @@ Return the cosine of @var{x}, with @var{x} in radians. @cindex div Perform integer division, similar to the standard C function of the same name. First, truncate @code{numerator} and @code{denominator} -to integers. Clear the @code{result} array, and then set -@code{result["quotient"]} to the result of @samp{numerator / denominator}, -truncated to an integer, and set @code{result["remainder"]} to the result -of @samp{numerator % denominator}, truncated to an integer. -This function is primarily intended for use with arbitrary length -integers; it avoids creating MPFR arbitrary precision floating-point -values (@pxref{Arbitrary Precision Integers}). +towards zero, creating integer values. Clear the @code{result} +array, and then set @code{result["quotient"]} to the result of +@samp{numerator / denominator}, truncated towards zero to an integer, +and set @code{result["remainder"]} to the result of @samp{numerator % +denominator}, truncated towards zero to an integer. This function is +primarily intended for use with arbitrary length integers; it avoids +creating MPFR arbitrary precision floating-point values (@pxref{Arbitrary +Precision Integers}). This function is a @code{gawk} extension. It is not available in compatibility mode (@pxref{Options}). diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 2d749e48..93139a04 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -15924,13 +15924,14 @@ Return the cosine of @var{x}, with @var{x} in radians. @cindex div Perform integer division, similar to the standard C function of the same name. First, truncate @code{numerator} and @code{denominator} -to integers. Clear the @code{result} array, and then set -@code{result["quotient"]} to the result of @samp{numerator / denominator}, -truncated to an integer, and set @code{result["remainder"]} to the result -of @samp{numerator % denominator}, truncated to an integer. -This function is primarily intended for use with arbitrary length -integers; it avoids creating MPFR arbitrary precision floating-point -values (@pxref{Arbitrary Precision Integers}). +towards zero, creating integer values. Clear the @code{result} +array, and then set @code{result["quotient"]} to the result of +@samp{numerator / denominator}, truncated towards zero to an integer, +and set @code{result["remainder"]} to the result of @samp{numerator % +denominator}, truncated towards zero to an integer. This function is +primarily intended for use with arbitrary length integers; it avoids +creating MPFR arbitrary precision floating-point values (@pxref{Arbitrary +Precision Integers}). This function is a @code{gawk} extension. It is not available in compatibility mode (@pxref{Options}). diff --git a/extension/ChangeLog b/extension/ChangeLog index 869c30a5..799b0121 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,11 @@ +2014-06-13 Paul Gortmaker <paul.gortmaker@windriver.com> + + * Makefile.am (uninstall-so): Came across below bug while cross + compiling, and changed both install-data-hook and uninstall-so + to use $(DESTDIR) on v4.1.1 before seeing most of the fix in + gawk-4.1.1-3-g976f73ab0356; here we ensure uninstall-so also + uses the $(DESTDIR) prefix on its use of pkgextensiondir. + 2014-04-11 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (install-data-hook): Use $(DESTDIR) when removing diff --git a/extension/Makefile.am b/extension/Makefile.am index 11826e2b..b6beaee3 100644 --- a/extension/Makefile.am +++ b/extension/Makefile.am @@ -105,7 +105,7 @@ install-data-hook: # Keep the uninstall check working: uninstall-so: - $(RM) $(pkgextensiondir)/*.so + $(RM) $(DESTDIR)$(pkgextensiondir)/*.so uninstall-recursive: uninstall-so diff --git a/extension/Makefile.in b/extension/Makefile.in index d81b1696..294e4f88 100644 --- a/extension/Makefile.in +++ b/extension/Makefile.in @@ -1236,7 +1236,7 @@ install-data-hook: # Keep the uninstall check working: uninstall-so: - $(RM) $(pkgextensiondir)/*.so + $(RM) $(DESTDIR)$(pkgextensiondir)/*.so uninstall-recursive: uninstall-so diff --git a/interpret.h b/interpret.h index e2e0d6b7..6b56efa7 100644 --- a/interpret.h +++ b/interpret.h @@ -1191,7 +1191,7 @@ match_re: JUMPTO(ni); } - if (inrec(curfile, & errcode) != 0) { + if (! inrec(curfile, & errcode)) { if (errcode > 0 && (do_traditional || ! pc->has_endfile)) fatal(_("error reading input file `%s': %s"), curfile->public.name, strerror(errcode)); @@ -574,12 +574,12 @@ set_NR() /* inrec --- This reads in a record from the input file */ -int +bool inrec(IOBUF *iop, int *errcode) { char *begin; int cnt; - int retval = 0; + bool retval = true; if (at_eof(iop) && no_data_left(iop)) cnt = EOF; @@ -589,13 +589,17 @@ inrec(IOBUF *iop, int *errcode) cnt = get_a_record(& begin, iop, errcode); if (cnt == EOF) { - retval = 1; + retval = false; if (*errcode > 0) update_ERRNO_int(*errcode); } else { INCREMENT_REC(NR); INCREMENT_REC(FNR); set_record(begin, cnt); + if (*errcode > 0) { + update_ERRNO_int(*errcode); + retval = false; + } } return retval; @@ -472,6 +472,8 @@ main(int argc, char **argv) case 'M': #ifdef HAVE_MPFR do_flags |= DO_MPFR; +#else + warning(_("-M ignored: MPFR/GMP support not compiled in")); #endif break; @@ -752,6 +754,11 @@ out: if (do_dump_vars) dump_vars(varfile); +#ifdef HAVE_MPFR + if (do_mpfr) + cleanup_mpfr(); +#endif + if (do_tidy_mem) release_all_vars(); @@ -819,9 +826,9 @@ usage(int exitval, FILE *fp) fputs(_("\t-i includefile\t\t--include=includefile\n"), fp); fputs(_("\t-l library\t\t--load=library\n"), fp); fputs(_("\t-L [fatal]\t\t--lint[=fatal]\n"), fp); - fputs(_("\t-n\t\t\t--non-decimal-data\n"), fp); fputs(_("\t-M\t\t\t--bignum\n"), fp); fputs(_("\t-N\t\t\t--use-lc-numeric\n"), fp); + fputs(_("\t-n\t\t\t--non-decimal-data\n"), fp); fputs(_("\t-o[file]\t\t--pretty-print[=file]\n"), fp); fputs(_("\t-O\t\t\t--optimize\n"), fp); fputs(_("\t-p[file]\t\t--profile[=file]\n"), fp); @@ -89,6 +89,15 @@ init_mpfr(mpfr_prec_t prec, const char *rmode) register_exec_hook(mpg_interpret, 0); } +/* cleanup_mpfr --- clean stuff up, mainly for valgrind */ + +void +cleanup_mpfr(void) +{ + mpfr_clear(_mpf_t1); + mpfr_clear(_mpf_t2); +} + /* mpg_node --- allocate a node to store MPFR float or GMP integer */ NODE * @@ -1239,6 +1248,8 @@ do_mpfr_div(int nargs) mpz_tdiv_qr(quotient->mpg_i, remainder->mpg_i, num->mpg_i, denom->mpg_i); unref(num); unref(denom); + unref(numerator); + unref(denominator); sub = make_string("quotient", 8); lhs = assoc_lookup(result, sub); @@ -1,5 +1,5 @@ # Italian messages for GNU Awk -# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # Antonio Colombo <azc100@gmail.com>. # msgid "" @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: GNU Awk 4.0.73, API: 0.0\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" "POT-Creation-Date: 2014-04-08 19:23+0300\n" -"PO-Revision-Date: 2014-01-15 10:39+0100\n" +"PO-Revision-Date: 2014-06-14 17:50+0100\n" "Last-Translator: Antonio Colombo <azc100@gmail.com>\n" "Language-Team: Italian <it@li.org>\n" "Language: it\n" @@ -211,7 +211,7 @@ msgstr "`getline' invalida all'interno della regola `%s'" #: awkgram.y:1425 msgid "non-redirected `getline' undefined inside END action" -msgstr "`getline' non re-diretta indefinita dentro `azione' END" +msgstr "`getline' non ri-diretta indefinita dentro `azione' END" #: awkgram.y:1444 msgid "old awk does not support multidimensional arrays" @@ -1141,7 +1141,7 @@ msgstr "" #: command.y:855 msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)." msgstr "" -"list [-|+|[nome-file:]num_linea|funzione|intervallo] - elenca riga/he " +"list [-|+|[nome-file:]num_riga|funzione|intervallo] - elenca riga/he " "richiesta/e." #: command.y:857 @@ -1229,7 +1229,7 @@ msgid "" "line or line N within current frame." msgstr "" "until [[nome-file:]N|funzione] - esegui finché il programma arriva una " -"rigadifferente, o alla riga N nell'elemento di stack corrente." +"riga differente, o alla riga N nell'elemento di stack corrente." #: command.y:895 msgid "unwatch [N] - remove variable(s) from watch list." @@ -2615,23 +2615,23 @@ msgstr "chiusura di fd %d (`%s') non riuscita (%s)" #: io.c:716 msgid "redirection not allowed in sandbox mode" -msgstr "re-direzione non consentita in modo `sandbox'" +msgstr "ri-direzione non consentita in modo `sandbox'" #: io.c:750 #, c-format msgid "expression in `%s' redirection only has numeric value" -msgstr "espressione nella re-direzione `%s' ha solo un valore numerico" +msgstr "espressione nella ri-direzione `%s' ha solo un valore numerico" #: io.c:756 #, c-format msgid "expression for `%s' redirection has null string value" -msgstr "espressione nella re-direzione `%s' ha per valore la stringa nulla" +msgstr "espressione nella ri-direzione `%s' ha per valore la stringa nulla" #: io.c:761 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" -"nome-file `%s' per la re-direzione `%s' può essere il risultato di una " +"nome-file `%s' per la ri-direzione `%s' può essere il risultato di una " "espressione logica" #: io.c:809 @@ -2658,12 +2658,12 @@ msgstr "" #: io.c:986 #, c-format msgid "can't redirect from `%s' (%s)" -msgstr "non riesco a re-dirigere da `%s' (%s)" +msgstr "non riesco a ri-dirigere da `%s' (%s)" #: io.c:989 #, c-format msgid "can't redirect to `%s' (%s)" -msgstr "non riesco a re-dirigere a `%s' (%s)" +msgstr "non riesco a ri-dirigere a `%s' (%s)" #: io.c:1040 msgid "" @@ -2692,12 +2692,12 @@ msgstr "close: `%.*s' non è un file aperto, una `pipe' o un co-processo" #: io.c:1108 msgid "close of redirection that was never opened" -msgstr "chiusura di una re-direzione mai aperta" +msgstr "chiusura di una ri-direzione mai aperta" #: io.c:1205 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" -msgstr "close: re-direzione `%s' non aperta con `|&', ignoro secondo argomento" +msgstr "close: ri-direzione `%s' non aperta con `|&', ignoro secondo argomento" #: io.c:1222 #, c-format @@ -3313,7 +3313,7 @@ msgstr "%s: argomento #%d con valore negativo %Zd, darà risultati strani" #: msg.c:68 #, c-format msgid "cmd. line:" -msgstr "linea com.:" +msgstr "riga com.:" #: node.c:421 msgid "backslash at end of string" @@ -3427,7 +3427,7 @@ msgstr "" #: profile.c:1513 #, c-format msgid "redir2str: unknown redirection type %d" -msgstr "redir2str: tipo di re-direzione non noto %d" +msgstr "redir2str: tipo di ri-direzione non noto %d" #: re.c:607 #, c-format @@ -3503,5 +3503,3 @@ msgstr "Nessuna espressione regolare precedente" msgid "can not pop main context" msgstr "non posso salire più in alto nello stack" -#~ msgid "range of the form `[%c-%c]' is locale dependent" -#~ msgstr "intervallo della forma `[%c-%c]' dipende da `locale'" diff --git a/test/ChangeLog b/test/ChangeLog index cc921277..ed673d8c 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,12 @@ +2014-07-25 Arnold D. Robbins <arnold@skeeve.com> + + * printhuge.awk: Add a newline to output. + * printhuge.ok: Adjust. + +2014-07-24 Arnold D. Robbins <arnold@skeeve.com> + + * badargs.ok: Adjust after correctly alphabetizing options. + 2014-07-10 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (printhuge): New test. diff --git a/test/badargs.ok b/test/badargs.ok index 1be81ec3..8d34be1f 100644 --- a/test/badargs.ok +++ b/test/badargs.ok @@ -18,9 +18,9 @@ Short options: GNU long options: (extensions) -i includefile --include=includefile -l library --load=library -L [fatal] --lint[=fatal] - -n --non-decimal-data -M --bignum -N --use-lc-numeric + -n --non-decimal-data -o[file] --pretty-print[=file] -O --optimize -p[file] --profile[=file] diff --git a/test/printhuge.awk b/test/printhuge.awk index 4d4fb7d4..1de27ecc 100644 --- a/test/printhuge.awk +++ b/test/printhuge.awk @@ -1,3 +1,3 @@ BEGIN { - printf("%c", sprintf("%c", (0xffffff00+255))) + printf("%c\n", sprintf("%c", (0xffffff00+255))) } diff --git a/test/printhuge.ok b/test/printhuge.ok index ce542efa..29e181eb 100644 --- a/test/printhuge.ok +++ b/test/printhuge.ok @@ -1 +1 @@ -˙
\ No newline at end of file +˙ |