The commit a1c86c8a7a modified
the navigation bars to include "Original C", so all tarballs
had be update, sorry (tm Canada 🇨🇦). In particular:
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.
In addition, a number of other commits since that time
modified other winning entries.
Ran `make update` to perform the above.
To build:
make all
```
## To use:
``` <!---sh-->
./wall
# enter some numbers
./wall | some_command
# enter some strings or numbers, depending on command
Try:
./try.sh
You may of course run the commands manually and enter text as you wish. For instance you might try one or both of:
./wall | bc
./wall | cat
and enter some input like:
x*x
2^x
quit # for the cat version
which the script does through a pipeline except that here you can enter more text if you wish, line by line.
Judges' remarks:
What we found amazing was how the flow of control was transferred between
subroutines. Careful inspection will show that the array of pointers to
functions named vi refers to functions which seem to not be directly called.
Even so, these pointers to functions are being used as an argument to
signal(3) (used both with and without an arg - but how?). Can you determine
why this is being done and how it is being exploited?
Some compilers complained about this file, so we changed: =++I to = ++I.
Author's remarks:
No remarks were provided by the author.