Files
ioccc/1986/wall/README.md
T
Cody Boone Ferguson a74abb69b7 Fix 1986/wall to no longer need -traditional-cpp
This was also a lot of fun to fix. It took a fair bit of tinkering but
it was a lot of fun to figure out and now it works like it does with
-traditional-cpp!

Removed this entry from the bugs.md file as it now works.

Also added to the bugs.md a minor clarification about another entry
that is in status INABIAF (about warnings).
2023-04-04 12:31:34 -07:00

1.8 KiB

The grand prize in most well-rounded in confusion

Larry Wall
System Development Corporation
Santa Monica
California
US of A

To build:

make all

We used a patch provided by Yusuke Endoh to make this work with gcc. Thank you Yusuke! Cody Boone Ferguson fixed this so that it does not require -traditional-cpp. This took a fair bit of tinkering as this entry is strange. Thank you Cody for your assistance!

To use:

./wall

Alternative code:

If you have an old compiler or a compiler that supports -traditional-cpp you might enjoy looking at the original source (after patch by Yusuke applied) in wall.alt.c. To build:

# if you have an old enough compiler:
make alt

# or with gcc:
make CFLAGS+="-traditional-cpp" alt

Use ./wall.alt as you would ./wall.

Judges' comments:

The original version did not have a ';' character in the first line. This caused a number of System V C pre-preprocessors to gripe about a syntax error.

This program is a masterpiece of obfuscation and humor. Larry Wall (the hacker who gave us rn and patch) asks you to compile and consider the warning message generated by the C compiler. Then execute the program and type characters into its standard input. You will see why the compiler documents the program.

Author's comments:

No comments 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/