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
Bugs and (Mis)features:
The current status of this entry is:
STATUS: INABIAF - please DO NOT fix
For more detailed information see 1989/fubar in bugs.html.
To use:
./fubar <number>
Try:
./try.sh # run on 1 - 7
./fubar.sh 2 # run via script
./fubar 2 # run directly
Judges' remarks:
Run this with a single digit argument (or wait a long time and risk an infinite loop and compilation error as described in the 1989/fubar in bugs.html file). This is, however, a feature, not a bug.
The blank line at the beginning of the source is mandatory. Do you know why?
NOTE: the file ouroboros.c is created by the program itself so this is why it
is not in the repository.
Author's remarks:
In a nutshell, this is probably the slowest and most
obnoxious factorial program ever written. Unfortunately,
the name of the C source must be ouroboros.c; the name is
hard-coded into the program.
The source is a legal shell script and a legal C program. The shell script compiles itself, and then executes the resulting binary, giving the source as input. The program works by successively modifying #define lines each pass through.
Both indent and cb will damage the program, indent
much more so.