From 42ab77db04f0a322b87de26e32759348491d1aa6 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 7 Sep 2023 08:29:17 -0700 Subject: [PATCH 1/5] Update thanks file w/information about 2004/burley As 2004/burley involved quite a few changes to get it to work I have reworded and expanded on the changes in thanks-for-fixes.md as is done for the other entries that were fixed. --- thanks-for-fixes.md | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index 189e6fe2d..35037a478 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -11,7 +11,8 @@ several thousand changes and important improvements. We call out the extensive contributions of [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) who is responsible for many of the improvements including many, many complicated bug fixes like -[2001/anonymous](2001/anonymous/anonymous.c), making entries not require +[2001/anonymous](2001/anonymous/anonymous.c) and +[2004/burley](2004/burley/burley.c), making entries not require `-traditional-cpp`, fixing entries to compile with clang, providing alternate code where useful or necessary, fixing where possible dead links and otherwise removing them, typo and consistency fixes. Thank you **very much** for your @@ -1056,12 +1057,30 @@ Dvorak typists are invited to get lost (or use the original version)! :-) ## [2004/burley](2004/burley/burley.c) ([README.md](2004/burley/README.md])) -Cody fixed this to compile with clang and also fixed it to work. A problem was -that `longjmp()` was being used with one arg which compiled because `setjmp.h` -was not included. Another part of the `setjmp()`/`longjmp()` situation was that -instead of `jmp_buf` the array `p` was of `int`. Finally the optimiser cannot be -enabled. As for clang it is because of the defect where the first arg must be an -int and the rest must be a `char **`. +Cody fixed this to compile with clang and also fixed it to work. + +For clang the problem was that `main()` had one arg, a `char *` and this is not +allowed in any version of clang. To get it to work took numerous changes. + +First the inclusion of `setjmp.h` was necessary. Without this `longjmp()` +implicitly returned int which was used for the purpose of binary expression but +this no longer worked. + +But by including `setjmp.h` it naturally made the binary expressions invalid (as +it returns void which no longer is allowed in binary expressions) so the comma +operator with `0` (`,0`) had to be used (`,1` was tried first but this did not +work right). + +`longjmp()` was being called with one arg which was an element +of an `int[4][1000]` which had to be changed to a `jmp_buf p[4]` (this due to +the prototype being included). + +`main()` also called itself but this was a problem so it now calls another +function `poke()` which calls itself instead (this is sometimes necessary +nowadays). + +Finally the optimiser cannot be disabled so the compiler flags were changed for +this. ## [2004/gavin](2004/gavin/gavin.c) ([README.md](2004/gavin/README.md])) From a8f860afbaf988dbf158b1e0f6d2933133735332 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 7 Sep 2023 08:52:37 -0700 Subject: [PATCH 2/5] Minor format fixes in 1986/hague/README.md --- 1986/hague/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/1986/hague/README.md b/1986/hague/README.md index 010d48956..d79cd8cc8 100644 --- a/1986/hague/README.md +++ b/1986/hague/README.md @@ -10,14 +10,14 @@ make all ``` -NOTE: this entry uses gets() so you might get a warning about this when +NOTE: this entry uses `gets()` so you might get a warning about this when compiling and running this program with some systems. ## To run: ```sh - ./hague - # enter some text +./hague +# enter some text ``` ## Try: From 6fe49bb77801c35d011984cfa6f1acc70fd3abae Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 7 Sep 2023 08:53:54 -0700 Subject: [PATCH 3/5] Minor fixes in 1986/wall/README.md --- 1986/wall/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/1986/wall/README.md b/1986/wall/README.md index 9dcf7fd83..fc24c5e99 100644 --- a/1986/wall/README.md +++ b/1986/wall/README.md @@ -18,8 +18,9 @@ make all ### 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](wall.alt.c). To build: +might enjoy looking at the original source in [wall.alt.c](wall.alt.c). + +#### To build: ```sh # if you have an old enough compiler: From dfa07e726c86674f28d1ac2b0599608a1aa6237c Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 7 Sep 2023 08:54:57 -0700 Subject: [PATCH 4/5] Remove duplicate 'repo' in how-to-enter.md --- how-to-enter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/how-to-enter.md b/how-to-enter.md index 21b555b90..0c03dd895 100644 --- a/how-to-enter.md +++ b/how-to-enter.md @@ -16,6 +16,6 @@ to our submission portal. will select the [winning entries](https://www.ioccc.org/years.html) announce them on the [@IOCCC mastodon feed](https://fosstodon.org/@ioccc), notify the winners via email using their previously registered email address, and upload the -winning code to the [winner repo](https://github.com/ioccc-src/winner) repo +winning code to the [winner repo](https://github.com/ioccc-src/winner) which in turn will cause them to be displayed on the [IOCCC winning entries page](https://www.ioccc.org/years.html). From ce0d387ccde2f693071d568e7d164fe41b8e47d5 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 7 Sep 2023 08:55:57 -0700 Subject: [PATCH 5/5] Add a INABIAF to 1992/kivinen/README.md This should already be in bugs.md but it's worth putting it in the README.md file too as most people will probably not look at it when looking at entries. --- 1992/kivinen/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/1992/kivinen/README.md b/1992/kivinen/README.md index 9f9cbfd06..f507a1437 100644 --- a/1992/kivinen/README.md +++ b/1992/kivinen/README.md @@ -34,6 +34,11 @@ entry. See also the author's remarks for other variations. +### INABIAF - it's not a bug it's a feature! :-) + +In modern systems a known issue is that when you start the game everything +starts to move to the right of the game window but if you click on the window it +moves back to where it should be. ## Judges' remarks: