Files
ioccc/1987
Cody Boone Ferguson 3a2829f98e Clean up 1987/wall warnings, fix README.md to run
(Well .. some warnings. See below.)

Depending on system (compiler and possibly platform) different warnings
were being triggered. It was easy to fix the code for some of them (like
wrong prototypes and then #including stdlib.h) but this caused problems
in another way (in macOS clang - clang is more strict and has -Werror or
else an equivalent by default which might or might not be possible to
disable .. haven't tried it) but since the code works as is I simply
silenced the warnings in the Makefile.

A note that might be useful to know for other Makefiles that has to do
with the fact that macOS gcc equates to clang (which I have noted many
times as it's an unfortunate problem): since it is seen as gcc the
Makefile check for gcc only will be triggered in macOS even though the
compiler is clang.

A similar problem is that if one does in linux just 'make' they might
end up with the compiler being 'cc' so I added an ifeq in the Makefile
for just cc. It might or might not be useful to add this to the rest of
the entry Makefiles. The same warnings disabled for cc and gcc were
added.

Another thing to keep in mind is with gcc/cc in linux it will still show
the warnings that were silenced as in it will show that some warnings
might have been disabled (it won't warn about the problems but will note
that some warnings were disabled - no I can't figure out the real
purpose of it either other than to be extra careful .. or annoying :-) ).

In linux clang also triggers even more warnings including the ridiculous
misleading indentation that they unfortunately adopted from gcc. These
warnings were not disabled at this time.

As far as the README.md goes one of the to run commands was incorrect in
that when running './wall' by itself one should put in numbers only, not
just any text.
2023-09-28 04:13:43 -07:00
..
2023-07-10 03:33:53 -07:00
2023-07-10 03:33:53 -07:00
2023-05-12 20:10:38 +10:00
…
…

1987 marked the "The Fourth International Obfuscated C Code Contest"

Look at the README.md file for the given winner for information on how to compile the winner and how to run the winning program. Look at the winning source and try to figure how it does what it does! You may then wish to look at the Author's remarks for even more details.

The rules for 1997 suggested even more categories than in 1986. Hints for what to do and not to do were also given in the rules. For example, a simple excessive abuse of /lib/cpp was discouraged unless the abuse was unusual. The mailboxes for the contest were moved from nsc to amdahl. The practice of posting a preliminary set of rules for the next year was started this year.

Rules and results were posted to comp.lang.c and comp.unix.wizards with an announcement in news.announce.important. Micro/Systems Journal published the 1987 winners. Mark R. Horton included a version of the 1987 winners in an appendix of his C book Portable C Software International Edition. The first announcement of winners at the Summer 87 Usenix was helped by a small fly that danced all over the foils.

=-=

Copyright (c) 1987, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety and remains unaltered. All other uses must receive prior permission in writing from both Landon Curt Noll and Larry Bassel.