From 27b73f0de36f785bfea40cfdf42b9078ed0dcc9c Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 10 Sep 2023 09:05:42 -0700 Subject: [PATCH 1/2] Minor updates to INABIAF & thanks for 1992/westley Added that some versions of clang do not even allow a fourth arg to main() which my fix for clang also fixed (I did not know it at the time). Also added the joke about how the alternative version will very likely nuke the USA and the main entry will very likely nuke the world if there are not enough args specified (2) to the thanks-for-fixes.md file, updated a bit, and updated it in bugs.md and the README.md file too. And not that we need any help with this or anything :-) but we do encourage you to test it. This should not be fixed. :-) And to those like myself who would want to know: yes (obviously :-) ) it was and is my own joke that felt right for the behaviour it exhibits without 2 args and what the program actually does with enough args. Try it and see! --- 1992/westley/README.md | 6 ++---- bugs.md | 11 +++++++---- thanks-for-fixes.md | 12 +++++++++++- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/1992/westley/README.md b/1992/westley/README.md index 0b54327b0..4ff0f1481 100644 --- a/1992/westley/README.md +++ b/1992/westley/README.md @@ -1,9 +1,6 @@ # Best Small Program Brian Westley (aka Merlyn LeRoy) -Digi International -1026 Blair Ave. -St. Paul, MN 55104 US @@ -60,7 +57,8 @@ This program and the alternate version will very likely crash or [nuke](https://en.wikipedia.org/wiki/Nuclear_weapon) the [entire world](https://en.wikipedia.org/wiki/Earth) or just the [USA](https://en.wikipedia.org/wiki/United_States), respectively, without enough -args. This should not be fixed. +args. And not that we need any help with this or anything :-) but we do +encourage you to test it. This should not be fixed. ## Judges' remarks: diff --git a/bugs.md b/bugs.md index b07f53969..f42cba0ac 100644 --- a/bugs.md +++ b/bugs.md @@ -712,9 +712,11 @@ welcome but it's not currently considered enough of a problem to fix. ## STATUS: doesn't work with some compilers - please provide alternative code We used a patch from [Yusuke Endoh](/winners.html#Yusuke_Endoh) to get this to -work but it only works with gcc. Unfortunately due to the way the entry works -and the fact that other compilers like clang have different warnings and errors -this simply does not work with them. Can you help us? +work but it only works with gcc. Cody removed the warnings of `gets()`. + +Unfortunately due to the way the entry works and the fact that other compilers +like clang have different warnings and errors this simply does not work with +them. Can you help us? ## [1992/westley](1992/westley/westley.c) ([README.md](1992/westley/README.md)) ## STATUS: INABIAF - please **DO NOT** fix @@ -723,7 +725,8 @@ This program and the alternate version will very likely crash or [nuke](https://en.wikipedia.org/wiki/Nuclear_weapon) the [entire world](https://en.wikipedia.org/wiki/Earth) or just the [USA](https://en.wikipedia.org/wiki/United_States), respectively, without enough -args. This should not be fixed! :-) +args. And not that we need any help with this or anything :-) but we do +encourage you to test it. This should not be fixed. # 1993 diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index 75f34729b..16a2f4c05 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -594,10 +594,20 @@ different compiler messages. See [bugs.md](/bugs.md) for details. ## [1992/westley](1992/westley/westley.c) ([README.md](1992/westley/README.md])) Cody fixed this to work for clang by changing the third and fourth arg of -`main()` to be `char **` inside `main()`; clang requires args 2 - 4 to be `char **`. +`main()` to be `char **` inside `main()`; clang requires args 2 - 4 to be `char +**` and some versions do not even allow a fourth arg. + He also added the alternate version that the author gave in the remarks that is specifically for the USA rather than the world. +NOTE: as noted in the README.md file and the bugs.md, this program and the +alternate version will very likely crash or +[nuke](https://en.wikipedia.org/wiki/Nuclear_weapon) the [entire +world](https://en.wikipedia.org/wiki/Earth) or just the +[USA](https://en.wikipedia.org/wiki/United_States), respectively, without enough +args (2). And not that we need the help or anything for this :-) but we do +encourage you to test this :-) This should not be fixed. + ## [1993/jonth](1993/jonth/jonth.c) ([README.md](1993/jonth/README.md])) From 9e2b5696611ead8e030fc86e81d1e7c3031f0067 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 10 Sep 2023 09:58:27 -0700 Subject: [PATCH 2/2] Update FAQ about incongruent code & author remarks As I was looking at 2004/burley/README.md it occurred to me that numerous entries have been modified in ways that are incongruent with what the author(s) originally wrote about the entry. In some cases this has been noted in the README.md file (like has been added to 2004/burley/README.md itself) but not in all. That should probably be checked for and I will do that in time most likely but in the meantime it felt even better to update the FAQ about this which this commit does as well. --- 2004/burley/README.md | 3 +++ faq.md | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/2004/burley/README.md b/2004/burley/README.md index 10cd44930..f86870a62 100644 --- a/2004/burley/README.md +++ b/2004/burley/README.md @@ -70,6 +70,9 @@ the program so this "strategy" no longer works? Notice the clever use of `setjmp()` and `longjmp()` calls. Can you keep track of what state is being saved and restored? +NOTE: the author talks about how it is a single statement. This might not be +strictly true in 2023 for the fixes for it to work so you can look at the +original file [burley.orig.c](burley.orig.c) to see what is meant. ## Author's remarks: diff --git a/faq.md b/faq.md index 3a9d2e318..d43197cd2 100644 --- a/faq.md +++ b/faq.md @@ -33,6 +33,14 @@ By tradition, we do not say. ## Q: How many judging rounds do you have? Are you trying to trick us? We will not say that either. +## Q: How come some entries have code that is incongruent with what the author(s) wrote about the entry? + +It is very likely in this case that the code was fixed to work for modern +systems as part of the reworking of the website. If you have this problem in +some entries you should look at the original code as in `winner.orig.c` or +`prog.orig.c`. Sometimes the original is in an alt version like `winner.alt.c` +or `prog.alt.c`. + ## Q: I cannot get entry XYZZY from year 19xx to compile! Some winners, particularly winners from long ago, no longer compile on more @@ -64,9 +72,12 @@ Mill](/winners.html#Christopher_Mills)'s entry PDP-11/40 emulator. Others are not so easy though we're working on this and over time have added -alternative code. Most entries do now work and the others we are working on. In -some cases we replaced the original code with code that works for modern systems -but one can view the original code in the `.orig.c` files (sometimes the +alternative code and/or fixed them. Most entries do now work and the others we +are working on (slowly as other things are also being done and this is on free +time). + +In some cases we replaced the original code with code that works for modern +systems but one can view the original code in the `.orig.c` files (sometimes the original code is also in the directory as a `winner.alt.c` or `prog.alt.c`). ## Q: After running a program my terminal is all messed up! How do I restore my terminal?