awk/bugs-fixed
2019-01-21 14:02:18 -05:00
..
a-format.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
a-format.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
a-format.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
decr-NF.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
decr-NF.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
decr-NF.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
fmt-overflow.awk Protect against overflowing during OFMT/CONVFMT conversions 2018-09-14 19:56:34 -07:00
fmt-overflow.ok Protect against overflowing during OFMT/CONVFMT conversions 2018-09-14 19:56:34 -07:00
missing-precision.awk Check for format character precision argument before using it 2018-09-14 17:34:17 -07:00
missing-precision.ok Check for format character precision argument before using it 2018-09-14 17:34:17 -07:00
ofs-rebuild.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
ofs-rebuild.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
ofs-rebuild.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
README Merge branch 'master' into fmt-overflow 2019-01-21 14:02:18 -05:00
space.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
space.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
space.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
string-conv.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
string-conv.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
string-conv.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
system-status.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
system-status.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
system-status.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
unary-plus.awk Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
unary-plus.bad Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00
unary-plus.ok Fix multiple long-standing bugs, improve test suite. 2018-08-22 20:40:26 +03:00

List of bugs fixed.

1. ofs-rebuild: OFS value used to rebuild the record was incorrect.
Fixed August 19, 2014. Revised fix August 2018.

2. system-status: Instead of a floating-point division by 256, use
the wait(2) macros to create a reasonable exit status. Fixed March 12, 2016.

3. space: Use provided xisblank() function instead of ispace() for
matching [[:blank:]].

4. a-format: Add POSIX standard %a and %A to supported formats. Check
at runtime that this format is available.

5. decr-NF: Decrementing NF did not change $0. This is a decades-old
bug. There are interactions with the old and new value of OFS as well.
Most of the fix came from the NetBSD awk.

6. string-conv: String conversions of scalars were sticky.  Once a
conversion to string happened, even with OFMT, that value was used until
a new numeric value was assigned, even if OFMT differed from CONVFMT,
and also if CONVFMT changed.

7. unary-plus: Unary plus on a string constant returned the string.
Instead, it should convert the value to numeric and give that value.

8. missing-precision: When using the format string "%*s", the precision
argument was used without checking if it was present first.

9. fmt-overflow: The buffer used for OFMT/CONVFMT conversions was written
to with sprintf(), which meant that some conversions could write past the
end.