Prepare for the winners of **IOCCC28**. > However these are not the 2024 droids you are looking for. :-) The HTML menu (both JavaScript and non-JavaScript) has been updated. The `Status -> Rules and guidelines' have been replaced with two separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`. Added a new top level `social.html` page: built from a new `social.md`. Sorted rules for building specific web pages in the top level `Makefile`. Added `make social` to make the `social.html` page from `social.md`. The `bin/gen-top-html.sh` now is able to process a argument of **social** to process the new top level `social.html` page. Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13" to "2.0.1 2025-07-25". Below `About -> Home page` a new `About -> IOCCC social media` menu item as added. Because the menu change touched every HTML file, we changed the general copyright date range for HTML files from "1984-2024" to "1984-2025" due to the extensive changes made for **IOCCC28**. Those markdown files that were modified in 2025 had their copyright date range also changed from "1984-2024" to "1984-2025". Rebuilt tarballs and sitemap due to the extensive HTML rebuilding. Ran `make update` to perform the above.
To build:
make all
There is an alternate version for those with an old enough compiler or for those who wish to see how C changed over the years. See Alternate code below.
Bugs and (Mis)features:
The current status of this entry is:
STATUS: INABIAF - please DO NOT fix
For more detailed information see 1990/westley in bugs.html.
To use:
./westley <number>
The number should be greater than 0.
Try:
./try.sh
Alternate code:
The alternate code is provided to show how C changed.
Alternate build:
If you have an old enough compiler or if you want to see how C changed over the years:
make alt
Alternate use:
Assuming that westley.alt compiles:
./westley.alt <number>
Judges' remarks:
If you would rather "Daisy" someone other than Westley, rename the program as needed. :-)
Read each block of code as if it were a piece of correspondence. For example, the first block of code would read:
charlie,
doubletime me, OXFACE!
not interested, get out
mainly die, charly, *die*
signed charlotte
The original source had control-L's after each code block. To make it easier on news readers, we converted each control-L to a blank line.
Author's remarks:
This is a "Picking the Daisy" simulation. Now, instead of mangling a daisy, simply run this program with the number of petals desired as the argument.
This is a good counter-example to peoples' complaints that C doesn't have an "English-like" syntax.
Lint complains about everything - null effect, xxx may be used before set, statement not reached, return(e) and return. Lint dumps core on some systems. My personal favorite lint complaint is
warning: eroticism unused in function
main.
Also obviously, (char)lotte and (char*)lie are incompatible types...