Fixed when the `.tar.tstamp` file is updated by `bin/tar-entry.sh`. Changed `bin/tar-entry.sh` VERSION from "1.3 2024-03-22" to "1.3.1 2024-03-25". Performed `make form_entry_tarball` to complete the test of the above. TODO: Test the results under Linux. TODO: Update `bin/tar-year.sh`. Update year level compressed tarballs. TODO: Update `bin/tar-all.sh`. Update top level compressed tarball. TODO: Write `bin/untar-year.sh` and `bin/untar-all.sh`.
To build:
make all
To use:
./bas2 < file
echo text | ./bas2
Try:
./try.sh
./try.sh "foo bar" "baz" "IOCCC 1998/bas2" README.md
./try.sh try.sh "bas2.c" bas2.orig.c
Judges' remarks:
Questions to ponder:
Can you determine the relationship between the input and the resulting numeric output?
The program was not designed to process files with a certain octet value, what value is that?
Hint and Extra Credit:
This entry points out a minor flaw in the IOCCC rules that has been around since 1992. It processes a certain octet value in a way that differs from a strict reading of one of the official IOCCC rules. What is the rule and what is the octet value?
Author's remarks:
The main obfuscation is the way characters are recognized, which is done by matching the bit patterns. Minor obfuscations are:
-
Useless layout.
-
Useless variable names.
-
Recursive
main()instead of 2 loops (over input characters and over bits in the character). -
?:and||instead of if statements.