diff --git a/1989/README.md b/1989/README.md index 2e3c8d3a3..9fd71bb29 100644 --- a/1989/README.md +++ b/1989/README.md @@ -8,15 +8,15 @@ You may then wish to look at the Author's remarks for even more details. Instructions for use: Run `make` to compile entries (it is possible that on System V or non-Unix systems the Makefile needs to be changed). -The Makefile for ["Best self modifying program"](fubar/index.html) always uses +The Makefile for [Best self modifying program](fubar/index.html) always uses the most portable version because there is no loss of functionality in -using it. In the case of the ["Best game"](tromp/index.html) entry, however, some +using it. In the case of the [Best game](tromp/index.html) entry, however, some functionality is lost in the portable version and so its Makefile uses the original program. This year, the [Best of Show](jar.2/index.html) was given to the most useful program. -The ["Strangest abuse of the rules"](jar.1/index.html) award was given this year +The [Strangest abuse of the rules](jar.1/index.html) award was given this year to stress the fact that starting in 1990, compiling entries must result a regular executable file. diff --git a/1989/fubar/README.md b/1989/fubar/README.md index 2f54d9404..b933de52e 100644 --- a/1989/fubar/README.md +++ b/1989/fubar/README.md @@ -10,7 +10,7 @@ The current status of this entry is: ``` - STATUS: known bug - please help us fix + STATUS: INABIAF - please **DO NOT** fix ``` For more detailed information see [1989/fubar in bugs.html](../../bugs.html#1989_fubar). @@ -36,7 +36,8 @@ For more detailed information see [1989/fubar in bugs.html](../../bugs.html#1989 ## Judges' remarks: Run this with a single digit argument (or wait a long time and risk an infinite -loop as described in the [1989/fubar in bugs.html](../../bugs.html#1989_fubar) file). +loop and compilation error as described in the [1989/fubar in +bugs.html](../../bugs.html#1989_fubar) file). This is, however, a feature, not a bug. The blank line at the beginning of the source is mandatory. Do you know why? diff --git a/1989/fubar/fubar.c b/1989/fubar/fubar.c index 38d8a7621..b47297c5c 100644 --- a/1989/fubar/fubar.c +++ b/1989/fubar/fubar.c @@ -3,7 +3,7 @@ #include #define QQ 1 #define TT 1 -#define cc main(c,v) int c; char **v;{char tt[12],qq[7]; int q=0,o=1,l=1,m=1;struct {int c;} f; +#define cc int main(c,v) int c; char **v;{char tt[12],qq[7]; int q=0,o=1,l=1,m=1;struct {int c;} f; #define ouroboros qq[6]='\0';tt[11]='\0';if(QQ==atoi(v[1])+1){(void)fprintf(stderr,"%s factorial = %d\n",v[1], TT);exit(1);}o=c+f #define x ;while(EOF!=(o=getchar())){if(l && q=='Q' && o=='Q'){l=0;(void)getchar();(void)fread(qq,6,1,stdin);(void)printf("Q %6d",atoi(qq)+1);}else if(m && q=='T' && o=='T'){m=0;(void)fread(tt,11,1,stdin);(void)printf("T %9d\n",atoi(tt)*QQ);}else {q=o;(void)putchar(o);}}exit(0);} diff --git a/1989/fubar/index.html b/1989/fubar/index.html index 23b33ee8b..c99c49a1b 100644 --- a/1989/fubar/index.html +++ b/1989/fubar/index.html @@ -405,7 +405,7 @@ Location: US - United States of America
    make all

Bugs and (Mis)features:

The current status of this entry is:

-
    STATUS: known bug - please help us fix
+
    STATUS: INABIAF - please **DO NOT** fix

For more detailed information see 1989/fubar in bugs.html.

To use:

    ./fubar <number>
@@ -416,7 +416,8 @@ Location: US - United States of America ./fubar 2 # run directly

Judges’ remarks:

Run this with a single digit argument (or wait a long time and risk an infinite -loop as described in the 1989/fubar in bugs.html file).

+loop and compilation error as described in the 1989/fubar in +bugs.html file). This is, however, a feature, not a bug.

The blank line at the beginning of the source is mandatory. Do you know why?

NOTE: the file ouroboros.c is created by the program itself so this is why it diff --git a/1989/jar.1/README.md b/1989/jar.1/README.md index cd9fe4406..f5dfd7030 100644 --- a/1989/jar.1/README.md +++ b/1989/jar.1/README.md @@ -48,7 +48,7 @@ On many systems the compiler will not allow you to send the object file to ``` As a last resort the `jar.1.sh` script provided simulates -writing the raw binary of the .o file to the terminal. +writing the raw binary of the `.o` object file to the terminal. Abuse of the rules winning entry usually result in a change of the rules. Starting in 1990, compiling entries must result an regular file @@ -78,8 +78,8 @@ binary to the `/dev/tty` special file. The use of piping raw binary thru stings makes the original 1989 output more apparent, as was the case when using dumb CRT terminals (some -do dumb that they couldn't even process simple ANSI escape sequences) -were more common. +so dumb that they couldn't even process simple ANSI escape sequences) +was more common. ## Author's remarks: diff --git a/1989/jar.1/index.html b/1989/jar.1/index.html index 7e6b527cd..2b479706f 100644 --- a/1989/jar.1/index.html +++ b/1989/jar.1/index.html @@ -420,7 +420,7 @@ See the Alternate code section below for more deta /dev/tty. The author suggested:

    cc -c -o /dev/tty jar.1.c

As a last resort the jar.1.sh script provided simulates -writing the raw binary of the .o file to the terminal.

+writing the raw binary of the .o object file to the terminal.

Abuse of the rules winning entry usually result in a change of the rules. Starting in 1990, compiling entries must result an regular file which can be executed.

@@ -446,8 +446,8 @@ to standard output, the original shell command that once wrote raw binary to the /dev/tty special file.

The use of piping raw binary thru stings makes the original 1989 output more apparent, as was the case when using dumb CRT terminals (some -do dumb that they couldn’t even process simple ANSI escape sequences) -were more common.

+so dumb that they couldn’t even process simple ANSI escape sequences) +was more common.

Author’s remarks:

This program is (supposedly) the smallest C program able to print “Hello world.”. The compilation itself produces the desired printout and the program diff --git a/1989/jar.2/README.md b/1989/jar.2/README.md index 2a7145e80..90055cd41 100644 --- a/1989/jar.2/README.md +++ b/1989/jar.2/README.md @@ -31,11 +31,11 @@ NOTE: this entry will likely segfault on invalid input. ## Judges' remarks: This is the most useful program submitted this year. It is a -rather large subset of lisp. It has no error recovery, and -performs rather poorly in a number of cases. Even so, placing -all this functionality in such a small, densely packed program, -is impressive enough to win the Best of Show award. - +rather large subset of +[lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)). +It has no error recovery, and performs rather poorly in a number of cases. Even +so, placing all this functionality in such a small, densely packed program, is +impressive enough to win the `Best of Show` award. ## Author's remarks: diff --git a/1989/jar.2/index.html b/1989/jar.2/index.html index 3e9aac896..2093f0acf 100644 --- a/1989/jar.2/index.html +++ b/1989/jar.2/index.html @@ -425,10 +425,11 @@ Location: US - United States of America ./try.sh try.lisp

Judges’ remarks:

This is the most useful program submitted this year. It is a -rather large subset of lisp. It has no error recovery, and -performs rather poorly in a number of cases. Even so, placing -all this functionality in such a small, densely packed program, -is impressive enough to win the Best of Show award.

+rather large subset of +lisp. +It has no error recovery, and performs rather poorly in a number of cases. Even +so, placing all this functionality in such a small, densely packed program, is +impressive enough to win the Best of Show award.

Author’s remarks:

This program implements a Lisp interpreter in 1465 bytes of source. Some sophisticated features supported, e.g. functionals and recursion. diff --git a/1989/ovdluhe/README.md b/1989/ovdluhe/README.md index 6f0a1ec60..85879775b 100644 --- a/1989/ovdluhe/README.md +++ b/1989/ovdluhe/README.md @@ -41,7 +41,8 @@ it's a `#define` it's easy to set up. You do not have to define `P` but if you do you can replace the value with whatever you wish, as long as it's a positive `int` (or evaluates to a positive `int` like the default `(A<#define it’s easy to set up.

You do not have to define P but if you do you can replace the value with whatever you wish, as long as it’s a positive int (or evaluates to a positive int like the default (A<<AP) does). Too high a value will likely cause the -program to fail and a negative value will cause a compilation error.

+program to fail and a negative value will cause a compilation error as will a +value that’s not a number.

Alternate use:

    ./ovdluhe.alt

Alternate try:

@@ -439,14 +440,14 @@ is read through stdin. The larger the template, the better the result. A maximum of 2**12 chars are used. From the template, the program calculates the statistics of chars that immediately follow a given string (correlator string) of a certain length -(currently 4 - can be varied by changing the definition for P +(currently 4 - can be varied by changing the definition for P accordingly). A character is randomly chosen, weighted by its probability to occur after the correlator string. That character is printed to stdout and placed at the end of the correlator string, whose first character is discarded. Meaningful words are therefore usually preserved, the effect on sentences can be dramatically random.

-

You might want to vary the definition of P between 2 and 10 and +

You might want to vary the definition of P between 2 and 10 and observe the result.

long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K diff --git a/1989/tromp/index.html b/1989/tromp/index.html index 9bab35ab8..d2e35f549 100644 --- a/1989/tromp/index.html +++ b/1989/tromp/index.html @@ -481,17 +481,18 @@ system-wide high-score allowing a competition between users.

Additional remarks from the judges:

The author provided us with the following notes and new version of the program:

-

Here is a somewhat improved version of my tetris entry. All the -changes are in the popen() at the end. Formerly a move was done -to the HI score file which is not permitted for other users. Now -other users can change the HI score file. The extra option -m is -passed to sort, so that it knows that its input files are already -sorted. The -o output option of sort is used instead of a -temporary file.

-

You may also want to consider giving just the raw option to stty -at the start and -raw at the end. This further reduces the size of -the program, but has the possible disadvantage that the program -can only by stopped by ‘q’ or by the `kill -9’ command.

+
+

Here is a somewhat improved version of my tetris entry. All the changes are +in the popen(3) at the end. Formerly a move was done to the HI score file +which is not permitted for other users. Now other users can change the HI +score file. The extra option -m is passed to sort, so that it knows that its +input files are already sorted. The -o output option of sort is used instead +of a temporary file.

+

You may also want to consider giving just the raw option to stty at the +start and -raw at the end. This further reduces the size of the program, but +has the possible disadvantage that the program can only by stopped by ‘q’ or by +the kill -9 command.

+
    long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K
     =0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
     12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
diff --git a/bugs.html b/bugs.html
index 2c91b28f4..a7d904071 100644
--- a/bugs.html
+++ b/bugs.html
@@ -772,18 +772,17 @@ and does not crash.

1989/fubar

-

STATUS: known bug - please help us fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1989/fubar/fubar.c

Information: 1989/fubar/index.html

If you use either fubar or ouroboros.c (it’s executable, see index.html for details) with a number < 0 or larger than, say 20, it’s very likely that the -program will turn into an infinite loop trying to compile code with syntax -errors.

-

If you want to try and fix this (mis)feature, you are welcome to try.

+program will turn into an infinite loop trying to compile code and end up with +with syntax errors. As this was documented it is not a bug to be fixed.

1989/robison

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1989/robison/robison.c

Information: 1989/robison/index.html

This program will very likely crash or break into tiny bits :-) if you feed it @@ -793,7 +792,7 @@ operators like /. To see what operators are supported check the sou

1989/westley

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1989/westley/westley.c

Information: 1989/westley/index.html

With version 2 it sometimes segfaults even with the same input where other times @@ -883,7 +882,7 @@ Enjoy! :-)

1990/baruch

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1990/baruch/baruch.c

Information: 1990/baruch/index.html

A point worth considering is that as the number passed into the program gets @@ -948,7 +947,7 @@ more time and resources to run as well. For instance:

1990/jaw

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1990/jaw/jaw.c

Information: 1990/jaw/index.html

Cody Boone Ferguson @@ -983,7 +982,7 @@ defeat the purpose. This would ideally be fixed.

1990/tbr

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1990/tbr/tbr.c

Information: 1990/tbr/index.html

The authors provided a list of features in the @@ -991,7 +990,7 @@ defeat the purpose. This would ideally be fixed.

1990/theorem

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1990/theorem/theorem.c

Information: 1990/theorem/index.html

Cody Boone Ferguson fixed many bugs that @@ -1002,7 +1001,7 @@ where this occurred was fixed but this one should not be fixed. Thank you.

1990/westley

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1990/westley/westley.c

Information: 1990/westley/index.html

Although Cody fixed this to not enter an infinite loop if the arg (converted to @@ -1016,7 +1015,7 @@ original. The reason for the < 0 check is it floods the screen.

1991/buzzard

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1991/buzzard/buzzard.c

Information: 1991/buzzard/index.html

If the maze file cannot be opened, either because the path specified does not @@ -1026,7 +1025,7 @@ file does not exist in the directory, this program will very likely crash.

1991/westley

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1991/westley/westley.c

Information: 1991/westley/index.html

There is a very simple way to always win. The program doesn’t catch you and as @@ -1043,7 +1042,7 @@ when you’re cheating it ends up winning! Can you figure that out as well?

1992/adrian

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1992/adrian/adrian.c

Information: 1992/adrian/index.html

The author stated that if the file cannot be opened then it will print a system @@ -1066,7 +1065,7 @@ have to remove the outer () pair.

1992/albert

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1992/albert/albert.c

Information: 1992/albert/index.html

Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges an email:

@@ -1129,7 +1128,7 @@ to be read (in case the gets(3) was not used in a loop).

1992/kivinen

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1992/kivinen/kivinen.c

Information: 1992/kivinen/index.html

When you start the program everything starts to move over to the right side and @@ -1204,7 +1203,7 @@ than that. For instance this is what it looks like with clang:

1992/vern

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1992/vern/vern.c

Information: 1992/vern/index.html

When your own checkmate is imminent it prints "Har har" but does not exit so @@ -1213,7 +1212,7 @@ it yourself through ctrl-c or killing it in some other fashion.

1992/westley

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1992/westley/westley.c

Information: 1992/westley/index.html

Cody improved the usability of this program by making it so that as long as the @@ -1222,7 +1221,7 @@ at 80 columns. However due to the nature of the program if the terminal is < in column width it will not display right. To see the number of columns in your terminal try:

    echo $COLUMNS
-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

The author suggested that the alternate version, which Cody added (but fixed for modern systems), should print

    main(l,a,n,d)...
@@ -1239,7 +1238,7 @@ not a misunderstanding).

1993


-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1993/ant/ant.c

Information: 1993/ant/index.html

The author stated that:

@@ -1253,7 +1252,7 @@ not a misunderstanding).

The author wrote in the documentation file ant.txt that there is a version of the code that is not obfuscated. This file, agag.c does not exist in the archive. Do you have it? Please provide it!

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1993/cmills/cmills.c

Information: 1993/cmills/index.html

In multiple platforms, both macOS and also linux (in particular a RHEL 9.3 @@ -1262,7 +1261,7 @@ system), this entry just shows a blank screen.

1993/lmfjyh

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1993/lmfjyh/lmfjyh.c

Information: 1993/lmfjyh/index.html

This entry relied on a bug in gcc that was fixed with gcc version 2.3.3. This @@ -1272,7 +1271,7 @@ the index.html file for details.

1993/rince

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1993/rince/rince.c

Information: 1993/rince/index.html

Although the code checks if the file can be opened or not, badly formatted files @@ -1282,7 +1281,7 @@ through ctrl-c or such.

1993/schnitzi

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1993/schnitzi/schnitzi.c

Information: 1993/schnitzi/index.html

If the file cannot be opened it will very likely segfault. This should not be @@ -1308,7 +1307,7 @@ question you might cause an error. For instance don’t do this:

Of course if you do something like:

    What is 'foo'?

it will work fine.

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1993/vanb/vanb.c

Information: 1993/vanb/index.html

No spaces are allowed in the expression.

@@ -1324,7 +1323,7 @@ not d-46.

1994/dodsond2

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1994/dodsond2/dodsond2.c

Information: 1994/dodsond2/index.html

When you initiate shooting via the s command you immediately lose an arrow @@ -1334,7 +1333,7 @@ pit room you will end up dying even though you didn’t explicitly move there.

1994/ldb

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1994/ldb/ldb.c

Information: 1994/ldb/index.html

Cody Boone Ferguson fixed this to compile @@ -1437,7 +1436,7 @@ compiled!

1994/shapiro

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1994/shapiro/shapiro.c

Information: 1994/shapiro/index.html

This program will likely crash if the source code file (by the name of the file @@ -1467,7 +1466,7 @@ if it checked for != EOF.

1994/tvr

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1994/tvr/tvr.c

Information: 1994/tvr/index.html

The judges said the following in their remarks:

@@ -1484,7 +1483,7 @@ doesn’t break something else.

1995/cdua

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1995/cdua/cdua.c

Information: 1995/cdua/index.html

This did not originally compile under macOS and after it did compile under @@ -1498,7 +1497,7 @@ it calls getchar() via the pointer m. So this is a fea

1995/leo

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 1995/leo/leo.c

Information: 1995/leo/index.html

The judges suggested that the following commands should result in output:

@@ -1516,7 +1515,7 @@ it would be good if it was fixed.

1995/savastio

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1995/savastio/savastio.c

Information: 1995/savastio/index.html

This program expects a POSITIVE number. If you specify a negative number it will @@ -1581,7 +1580,7 @@ almost be done except that some of the output of the

1996/jonth

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1996/jonth/jonth.c

Information: 1996/jonth/index.html

If X is not running this program will very likely crash or do something funny. @@ -1624,7 +1623,7 @@ to the page as well! You’ll have IOCCC fame for reviving a pootifier! :-)

1998/schnitzi

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 1998/schnitzi/schnitzi.c

Information: 1998/schnitzi/index.html

A point worth considering is that as the number passed into the program gets @@ -1651,7 +1650,7 @@ is in the index.html file as something to try and ponder.

2000/dlowe

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2000/dlowe/dlowe.c

Information: 2000/dlowe/index.html

The author gives an example command:

@@ -1781,7 +1780,7 @@ on the stack at that point:

5

which might (?) suggest that the + operator is unimplemented. Unfortunately it has been many years since I have used perl and I was never a guru either.

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

The author states that in perl < 5.6.0 there is a bug with a core dump in what they said is in Perl_sv_upgrade. As this is documented it is not considered a bug to be fixed. For the curious this will crash in macOS. Cody notes that the @@ -1823,7 +1822,7 @@ of 92 warnings! Nonetheless neither works okay and both crash.

2000/primenum

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2000/primenum/primenum.c

Information: 2000/primenum/index.html

This program does not do what you might think it does! Running it like:

@@ -1841,7 +1840,7 @@ make a pull request.

2000/rince

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2000/rince/rince.c

Information: 2000/rince/index.html

If DISPLAY is not set the program will very likely crash, do something strange @@ -1855,7 +1854,7 @@ fire! :-) ).

2001/anonymous

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/anonymous/anonymous.c

Information: 2001/anonymous/index.html

Cody Boone Ferguson fixed this so that it @@ -1874,7 +1873,7 @@ elves of Imladris :-(

2001/bellard

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

STATUS: doesn’t work with some platforms - please help us fix

Source code: 2001/bellard/bellard.c

Information: 2001/bellard/index.html

@@ -1923,14 +1922,14 @@ before the fixes there.

2001/cheong

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/cheong/cheong.c

Information: 2001/cheong/index.html

This program will crash without an arg.

2001/dgbeards

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/dgbeards/dgbeards.c

Information: 2001/dgbeards/index.html

This program deliberately crashes if it loses (which is what it aims to do).

@@ -1942,7 +1941,7 @@ before the fixes there.

Information: 2001/herrmann1/index.html

The author referred to the file herrmann1.turing but it does not exist not even in the archive. Do you have a copy? Please provide it!

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

There is also a bug in part. During compilation you’re supposed to see some animation but this does not seem to work with modern gcc versions. It appears that version 2.95 works but maybe others do as well. Do you have a fix? We would @@ -1951,7 +1950,7 @@ appreciate your help!

2001/kev

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/kev/kev.c

Information: 2001/kev/index.html

Sometimes when one player presses q it will result in broken pipe on the other @@ -1969,7 +1968,7 @@ set. In other words both have to be ASCII or EBCDIC - not one of each.

2001/ollinger

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/ollinger/ollinger.c

Information: 2001/ollinger/index.html

This program will very likely crash or do something unexpected if you do not @@ -1985,7 +1984,7 @@ wanted to install it as a tool but this is missing.

2001/schweikh

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2001/schweikh/schweikh.c

Information: 2001/schweikh/index.html

The glob pattern must match the whole string. See the author’s comments for @@ -2018,7 +2017,7 @@ it? Please provide it!

2001/williams

-

STATUS: known bug - please help us fix

+

STATUS: known bug - please help us fix

Source code: 2001/williams/williams.c

Information: 2001/williams/index.html

There seem to be a couple bugs at least in this entry. The first one is that @@ -2153,13 +2152,13 @@ compile under clang. The following patch was applied:

gavin_files: boot.b lilo.conf prim gavin_install.txt

The current (Makefile was modified to try and fit into the current IOCCC build environment.

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

See known features in the index.html for things that are not bugs but documented (mis)features.

2004/jdalbec

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2004/jdalbec/jdalbec.c

Information: 2004/jdalbec/index.html

The author stated that:

@@ -2184,7 +2183,7 @@ things that are not bugs but documented (mis)features.

2004/sds

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2004/sds/sds.c

Information: 2004/sds/index.html

The generated code will very likely segfault or do something not intended if not @@ -2197,7 +2196,7 @@ given the right args. See the index.html file for the correct syntax.

2005/anon

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2005/anon/anon.c

Information: 2005/anon/index.html

This program sometimes will create unsolvable puzzles :-) just to hook you. @@ -2211,7 +2210,7 @@ dimensions. Try 100 100 100 for instance and see what happens!

2005/giljade

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2005/giljade/giljade.c

Information: 2005/giljade/index.html

This entry will very likely segfault or do something strange if the source code @@ -2220,7 +2219,7 @@ does not exist.

2005/mikeash

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2005/mikeash/mikeash.c

Information: 2005/mikeash/index.html

The author states:

@@ -2254,7 +2253,7 @@ for running itself.

2005/mynx

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2005/mynx/mynx.c

Information: 2005/mynx/index.html

Cody Boone Ferguson notes that, though @@ -2268,7 +2267,7 @@ website itself.

2005/sykes

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2005/sykes/sykes.c

Information: 2005/sykes/index.html

The author stated the below points of interest.

@@ -2309,7 +2308,7 @@ with at least computer.tofu input file:

2006/borsanyi

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2006/borsanyi/borsanyi.c

Information: 2006/borsanyi/index.html

The string specified must be <= 42 characters and may only consist of the @@ -2318,7 +2317,7 @@ with possibly corrupt GIF files.

2006/hamre

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2006/hamre/hamre.c

Information: 2006/hamre/index.html

This program will likely crash or do something funny without an arg.

@@ -2337,12 +2336,12 @@ but you are welcome to try and fix it.

provide it as an additional alt version. Fixing this is very likely to be very challenging and in some systems it will not be possible to fix but you are welcome to try and fix it if you wish to!

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Incorrect formulas will ungracefully crash the program.

2006/stewart

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2006/stewart/stewart.c

Information: 2006/stewart/index.html

This program will likely crash or do something funny if the file cannot be @@ -2350,7 +2349,7 @@ opened. The number of args is however checked.

2006/sykes1

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2006/sykes1/sykes1.c

Information: 2006/sykes1/index.html

The author stated:

@@ -2367,7 +2366,7 @@ opened. The number of args is however checked.

2006/toledo2

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2006/toledo2/toledo2.c

Information: 2006/toledo2/index.html

Cody Boone Ferguson fixed this program to @@ -2414,7 +2413,7 @@ case-sensitive.

2011/borsanyi

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

Source code: 2011/borsanyi/borsanyi.c

Information: 2011/borsanyi/index.html

For a great amount of data points the program will crash, depending on your @@ -2437,7 +2436,7 @@ bins at the edges.

instead being something else entirely. The Internet Wayback Machine, although it archived it, did not load scripts. Do you know if the domain was moved? Do you have an archive or mirror? Please provide us it! Thank you.

-

STATUS: INABIAF - please DO NOT fix

+

STATUS: INABIAF - please DO NOT fix

The author states the following:

  • Bad input (e.g. nonexistent files, non-numeric number of iterations, etc.) @@ -2450,7 +2449,7 @@ tends to result in empty output.

  • 2011/fredriksson

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2011/fredriksson/fredriksson.c

    Information: 2011/fredriksson/index.html

    The author stated that there are a number of features and limitations. As the @@ -2460,7 +2459,7 @@ remarks instead.

    2011/konno

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2011/konno/konno.c

    Information: 2011/konno/index.html

    This program will very likely crash or do something funny without an arg.

    @@ -2629,7 +2628,7 @@ defined.

    2011/vik

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2011/vik/vik.c

    Information: 2011/vik/index.html

    The author stated that the program will crash if no argument is passed to the @@ -2643,7 +2642,7 @@ fire :-)

    2012/blakely

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2012/blakely/blakely.c

    Information: 2012/blakely/index.html

    The author stated:

    @@ -2652,7 +2651,7 @@ fire :-)

    2012/deckmyn

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2012/deckmyn/deckmyn.c

    Information: 2012/deckmyn/index.html

    The author stated:

    @@ -2685,7 +2684,7 @@ fire :-)

    2012/dlowe

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2012/dlowe/dlowe.c

    Information: 2012/dlowe/index.html

    The author stated:

    @@ -2699,7 +2698,7 @@ doesn’t make it possible to lock drawing to the display refresh rate.)

    2012/tromp

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2012/tromp/tromp.c

    Information: 2012/tromp/index.html

    The author stated:

    @@ -2720,7 +2719,7 @@ doesn’t make it possible to lock drawing to the display refresh rate.)

    2012/vik

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2012/vik/vik.c

    Information: 2012/vik/index.html

    The author stated that the program will crash if no argument is passed to the @@ -2736,7 +2735,7 @@ fire :-)

    2013/cable2

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/cable2/cable2.c

    Information: 2013/cable2/index.html

    The author stated:

    @@ -2756,7 +2755,7 @@ and endianness conversion would make the source too large for IOCCC rule 2).

    2013/dlowe

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/dlowe/dlowe.c

    Information: 2013/dlowe/index.html

    This program will possibly crash or draw something strange with 0 args. Then @@ -2775,7 +2774,7 @@ used.

    2013/endoh1

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/endoh1/endoh1.c

    Information: 2013/endoh1/index.html

    From the author:

    @@ -2791,7 +2790,7 @@ section.

    2013/endoh3

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/endoh3/endoh3.c

    Information: 2013/endoh3/index.html

    From the author:

    @@ -2804,14 +2803,14 @@ such as C2E2.

    2013/endoh4

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/endoh4/endoh4.c

    Information: 2013/endoh4/index.html

    Invalid input files will very likely crash the program.

    2013/hou

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/hou/hou.c

    Information: 2013/hou/index.html

    This program will not terminate on its own; you must kill hou (but not Qiming @@ -2819,7 +2818,7 @@ Hou :-) ) yourself. This should not be fixed.

    2013/mills

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2013/mills/mills.c

    Information: 2013/mills/index.html

    The author reminds us that if you kill the program you will have to wait a short @@ -2836,7 +2835,7 @@ it out as a known limitation it is not a bug but a feature.

    2014/maffiodo1

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2014/maffiodo1/prog.c

    Information: 2014/maffiodo1/index.html

    The author noted that in macOS the colours might be wrong. They gave a solution. @@ -2860,14 +2859,14 @@ player become bigger, stay away from blocks!

    2014/maffiodo2

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2014/maffiodo2/prog.c

    Information: 2014/maffiodo2/index.html

    This program will very likely crash if no arg is given.

    2014/vik

    -

    STATUS: known bug - please help us fix

    +

    STATUS: known bug - please help us fix

    Source code: 2014/vik/prog.c

    Information: 2014/vik/index.html

    Cody Boone Ferguson discovered a bug to do @@ -2901,7 +2900,7 @@ rely on the entry as the below shows. One should be able to do:

    2015/hou

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2015/hou/prog.c

    Information: 2015/hou/index.html

    The author stated:

    @@ -2926,7 +2925,7 @@ result. Error messages become garbled, though.

    2015/mills2

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2015/mills2/prog.c

    Information: 2015/mills2/index.html

    The program doesn’t look at the header of files so if it’s passed something hat @@ -2935,7 +2934,7 @@ is not compressed data it’s likely to crash.

    2015/schweikhardt

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2015/schweikhardt/prog.c

    Information: 2015/schweikhardt/index.html

    The program assumes that EOF is -1. This can be fixed but at this time it is @@ -2968,7 +2967,7 @@ use 8 * sizeof(typ) bits per place. It does not work when CHA

    2018/algmyr

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2018/algmyr/prog.c

    Information: 2018/algmyr/index.html

    The author wrote:

    @@ -2987,7 +2986,7 @@ loop printing whitespace.

    2018/hou

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2018/hou/prog.c

    Information: 2018/hou/index.html

    When you run it on a JSON file you will see something like:

    @@ -3002,7 +3001,7 @@ fixing the syntax error in the generated ioccc.json file.

    2018/mills

    -

    STATUS: known bug - please help us fix

    +

    STATUS: known bug - please help us fix

    Source code: 2018/mills/prog.c

    Information: 2018/mills/index.html

    After exiting the program (with ctrl-e) if you try running it again you will @@ -3012,7 +3011,7 @@ likely see:

    where [] is the cursor. When this happens if you hit enter (this is necessary or else it’ll happen again) and then exit again (ctrl-e) and run prog again it’ll be okay.

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    The author stated that if you make a typo it can happen that the boot loader can crash and halt. If this is the case type ctrl-e to quit the emulator and try again.

    @@ -3027,7 +3026,7 @@ in the case of compiled code it won’t be executable).

    2018/vokes

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2018/vokes/prog.c

    Information: 2018/vokes/index.html

    The author wrote the following:

    @@ -3077,7 +3076,7 @@ this program has nothing to do with a hand.

    2019/adamovsky

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/adamovsky/prog.c

    Information: 2019/adamovsky/index.html

    Certain input can crash this program. The file @@ -3085,7 +3084,7 @@ this program has nothing to do with a hand.

    2019/burton

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/burton/prog.c

    Information: 2019/burton/index.html

    The author pointed out that some implementations of wc(1) show different @@ -3093,7 +3092,7 @@ values but his implementation matches that of macOS and FreeBSD.

    2019/ciura

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/ciura/prog.c

    Information: 2019/ciura/index.html

    Cody Boone Ferguson fixed the scripts so @@ -3125,7 +3124,7 @@ ideal if this was not the case.

    2019/duble

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/duble/prog.c

    Information: 2019/duble/index.html

    There are two things to be aware of with this entry.

    @@ -3154,7 +3153,7 @@ in the directory:

    2019/endoh

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/endoh/prog.c

    Information: 2019/endoh/index.html

    As a backtrace quine this entry is SUPPOSED to segfault so this should not be @@ -3162,7 +3161,7 @@ touched either.

    2019/karns

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/karns/prog.c

    Information: 2019/karns/index.html

    The author stated the following:

    @@ -3192,7 +3191,7 @@ touched either.

    2019/lynn

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/lynn/prog.c

    Information: 2019/lynn/index.html

    The author wrote that there are a number of differences from what one might @@ -3202,7 +3201,7 @@ remarks in the sections Syntax and

    2019/mills

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/mills/prog.c

    Information: 2019/mills/index.html

    The author wrote that if you decide to change networks or use a different input @@ -3222,7 +3221,7 @@ a crash.

    2019/poikola

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/poikola/prog.c

    Information: 2019/poikola/index.html

    This program will not validate input so it might fail or get stuck if invoked @@ -3231,7 +3230,7 @@ erroneously.

    2019/yang

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2019/yang/prog.c

    Information: 2019/yang/index.html

    The author noted that if the program runs out of memory it is likely to crash.

    @@ -3246,7 +3245,7 @@ ignored except line feeds (preserved) and tabs (expanded to 8 spaces).’

    2020/burton

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2020/burton/prog.c

    Information: 2020/burton/index.html

    This entry is known to crash if no arg is specified. Although easy to fix it is @@ -3257,7 +3256,7 @@ either. But can you figure out why this happens?

    2020/carlini

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2020/carlini/prog.c

    Information: 2020/carlini/index.html

    The author stated that bad things happen if the entered move is outside of the @@ -3271,7 +3270,7 @@ move.

    2020/ferguson1

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2020/ferguson1/prog.c

    Information: 2020/ferguson1/index.html

    There are some things that might appear to be bugs but are actually features or @@ -3281,7 +3280,7 @@ things that are misinterpreted as bugs. See the

    2020/giles

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2020/giles/prog.c

    Information: 2020/giles/index.html

    The author noted that the program only supports WAV files that have @@ -3290,7 +3289,7 @@ audio channels.

    2020/otterness

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2020/otterness/prog.c

    Information: 2020/otterness/index.html

    The author listed the following limitations:

    diff --git a/bugs.md b/bugs.md index 6eb764b7d..10b073053 100644 --- a/bugs.md +++ b/bugs.md @@ -567,16 +567,14 @@ and does not crash. ## 1989/fubar -### STATUS: known bug - please help us fix +### STATUS: INABIAF - please **DO NOT** fix ### Source code: [1989/fubar/fubar.c](%%REPO_URL%%/1989/fubar/fubar.c) ### Information: [1989/fubar/index.html](1989/fubar/index.html) If you use either `fubar` or `ouroboros.c` (it's executable, see index.html for details) with a number < 0 or larger than, say 20, it's very likely that the -program will turn into an infinite loop trying to compile code with syntax -errors. - -If you want to try and fix this (mis)feature, you are welcome to try. +program will turn into an infinite loop trying to compile code and end up with +with syntax errors. As this was documented it is not a bug to be fixed.
    diff --git a/thanks-for-help.html b/thanks-for-help.html index d905703fd..e96469b23 100644 --- a/thanks-for-help.html +++ b/thanks-for-help.html @@ -1042,7 +1042,10 @@ not strictly necessary but nonetheless more correct, even if not warned against.

    Cody got this to work with modern systems. The main issues were that an #include had to be added along with fixing the path (due to . not being in $PATH) to files referred to in the code. The path problem was also fixed in -fubar.sh.

    +fubar.sh. Another problem that showed up +later is that there was no int for main and implicit ints are not +supported in ISO C99 and later but since it does not use make the warning was +not being disabled. To fix this the main was set to return int explicitly.

    A strange problem occurred where if one made modifications to the C file it might end up failing to work even after changing it back. This was resolved by:

        --- i/1989/fubar/fubar.sh
    diff --git a/thanks-for-help.md b/thanks-for-help.md
    index e9c2f7dd9..b80c3eae9 100644
    --- a/thanks-for-help.md
    +++ b/thanks-for-help.md
    @@ -947,7 +947,10 @@ not strictly necessary but nonetheless more correct, even if not warned against.
     [Cody](#cody) got this to work with modern systems. The main issues were that an
     `#include` had to be added along with fixing the path (due to `.` not being in
     `$PATH`) to files referred to in the code. The path problem was also fixed in
    -[fubar.sh](%%REPO_URL%%/1989/fubar/fubar.sh).
    +[fubar.sh](%%REPO_URL%%/1989/fubar/fubar.sh). Another problem that showed up
    +later is that there was no `int` for `main` and implicit `int`s are not
    +supported in ISO C99 and later but since it does not use `make` the warning was
    +not being disabled. To fix this the `main` was set to return `int` explicitly.
     
     A strange problem occurred where if one made modifications to the C file it
     might end up failing to work even after changing it back. This was resolved by: