Author:
- Name: Bas de Bakker
Location: NL - Kingdom of the Netherlands (Netherlands)
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.
Inventory for 1998/bas2
Primary files
- bas2.c - entry source code
- Makefile - entry Makefile
- bas2.orig.c - original source code
- try.sh - script to try entry
Secondary files
- 1998_bas2.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- index.html - this web page