You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jianglk.darker 7ee447c011
v811_spc009_project
4 months ago
..
README v811_spc009_project 4 months ago
REGRESS v811_spc009_project 4 months ago
a-format.awk v811_spc009_project 4 months ago
a-format.bad v811_spc009_project 4 months ago
a-format.ok v811_spc009_project 4 months ago
concat-assign-same.awk v811_spc009_project 4 months ago
concat-assign-same.bad v811_spc009_project 4 months ago
concat-assign-same.ok v811_spc009_project 4 months ago
decr-NF.awk v811_spc009_project 4 months ago
decr-NF.bad v811_spc009_project 4 months ago
decr-NF.ok v811_spc009_project 4 months ago
fmt-overflow.awk v811_spc009_project 4 months ago
fmt-overflow.ok v811_spc009_project 4 months ago
fs-overflow.awk v811_spc009_project 4 months ago
fs-overflow.ok v811_spc009_project 4 months ago
getline-numeric.awk v811_spc009_project 4 months ago
getline-numeric.bad v811_spc009_project 4 months ago
getline-numeric.in v811_spc009_project 4 months ago
getline-numeric.ok v811_spc009_project 4 months ago
inf-nan-torture.awk v811_spc009_project 4 months ago
inf-nan-torture.in v811_spc009_project 4 months ago
inf-nan-torture.ok v811_spc009_project 4 months ago
missing-precision.awk v811_spc009_project 4 months ago
missing-precision.ok v811_spc009_project 4 months ago
negative-nf.awk v811_spc009_project 4 months ago
negative-nf.ok v811_spc009_project 4 months ago
nf-self-assign.awk v811_spc009_project 4 months ago
nf-self-assign.bad v811_spc009_project 4 months ago
nf-self-assign.ok v811_spc009_project 4 months ago
numeric-fs.awk v811_spc009_project 4 months ago
numeric-fs.ok v811_spc009_project 4 months ago
numeric-output-seps.awk v811_spc009_project 4 months ago
numeric-output-seps.bad v811_spc009_project 4 months ago
numeric-output-seps.ok v811_spc009_project 4 months ago
numeric-rs.awk v811_spc009_project 4 months ago
numeric-rs.bad v811_spc009_project 4 months ago
numeric-rs.ok v811_spc009_project 4 months ago
numeric-subsep.awk v811_spc009_project 4 months ago
numeric-subsep.bad v811_spc009_project 4 months ago
numeric-subsep.ok v811_spc009_project 4 months ago
ofs-rebuild.awk v811_spc009_project 4 months ago
ofs-rebuild.bad v811_spc009_project 4 months ago
ofs-rebuild.ok v811_spc009_project 4 months ago
pfile-overflow.awk v811_spc009_project 4 months ago
pfile-overflow.ok v811_spc009_project 4 months ago
rs_underflow.awk v811_spc009_project 4 months ago
rs_underflow.in v811_spc009_project 4 months ago
rs_underflow.ok v811_spc009_project 4 months ago
space.awk v811_spc009_project 4 months ago
space.bad v811_spc009_project 4 months ago
space.ok v811_spc009_project 4 months ago
split-fs-from-array.awk v811_spc009_project 4 months ago
split-fs-from-array.ok v811_spc009_project 4 months ago
string-conv.awk v811_spc009_project 4 months ago
string-conv.bad v811_spc009_project 4 months ago
string-conv.ok v811_spc009_project 4 months ago
subsep-overflow.awk v811_spc009_project 4 months ago
subsep-overflow.ok v811_spc009_project 4 months ago
system-status.awk v811_spc009_project 4 months ago
system-status.bad v811_spc009_project 4 months ago
system-status.ok v811_spc009_project 4 months ago
unary-plus.awk v811_spc009_project 4 months ago
unary-plus.bad v811_spc009_project 4 months ago
unary-plus.ok v811_spc009_project 4 months ago

README

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. concat-assign-same: Concatenation previously evaluated both sides of the
expression before doing its work, which, since assign() evaluates to the cell
being assigned to, meant that expressions like "print (a = 1) (a = 2)" would
print "22" rather than "12".

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

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

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

12. numeric-subsep, numeric-fs, numeric-output-seps, numerics-rs: If SUBSEP,
FS, RS, OFS, or ORS were set to a numeric value, then their string values
wouldn't always be generated before being needed.

13. subsep-overflow: The length of SUBSEP needs to be rechecked after
calling execute(), in case SUBSEP itself has been changed.

14. split-fs-from-array: If the third argument to split() comes from the
array passed as the second argument, then split() would previously read
from the freed memory and possibly produce incorrect results (depending
on the system's malloc()/free() behaviour.)

15. getline-numeric: The `getline xx < file' syntax did not check if
values were numeric, in discordance from POSIX. Test case adapted from
one posted by Ben Bacarisse <ben.usenet@bsb.me.uk> in comp.lang.awk,
January 2019.