Files
ioccc/1988/westley
Landon Curt Noll 658669a73a improve .gitignore files, fix index.html links, sync CNAME
fix experimental web site links in experimental index.html

sync CNAME with https://github.com/ioccc-src/winner/blob/master/CNAME

improve .gitignore files

Added to each .gitignore file, comments on how to sort.

Put into winner .gitignore files, ignore *.dSYM files.

Put into winner .gitignore files, ignore indent.c,
indent.o and indent files.  This is done so that the
winner directory can more self contained.

We did not put into winner .gitignore files, however,
excludes of .-files as found in the top level .gitignore file.
As .-files are not allowed by mkiocccentry, the top level
.gitignore file remains sufficient.

Added to year level .gitignore files, excludes of
mkentry or iocccsize files as needed.

Sorted (via sort -d -u) all .gitignore file.
2023-12-08 04:06:44 -08:00
..
2023-12-05 22:51:27 -08:00
2023-11-01 00:47:43 -07:00
2023-11-14 02:43:14 -08:00
2023-04-13 14:24:34 -07:00
2023-11-14 02:43:14 -08:00
2023-07-06 21:49:38 -07:00

To build:

make all

NOTE: this version is a fixed version for modern C compilers. See the Alternate code section below for how to use the original.

Try:

./westley

Also try:

./try.sh

to show the code with followed by the result so you can truly see the magic.

Judges' remarks:

Your compiler must parse

#define _ -a
-_

as --a and not -(-a) or some other tokenized form. Some strictly conforming ANSI C Preprocessors may object to this: for such compilers, you can elide the non-standard token-pasting requirement by changing the #define line to:

#define _ F-->00||F-OO--;

This is what the modified code in westley.c does whereas the alt code is the original.

You might enjoy looking at the output of:

cc -E westley.alt.c

Alternate code:

To see if your compiler has the problem described above try:

make alt
./westley.alt

Does it show the same output as westley?

Author's remarks:

No remarks were provided by the author.

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/