From 6305c4d4820fc5fec7a540e167a6b9f71d059a2e Mon Sep 17 00:00:00 2001
From: Landon Curt Noll
Date: Tue, 16 Apr 2024 21:57:00 -0700
Subject: [PATCH] fix formatting of bugs.html
Attempted to fix formatting problems of `bugs.html`
that was introduced in commit 476b0d45f0dede76ad22c6b3880f1aee5051a6c6.
Run `make gen_top_html` to perform the above and test under macOS.
---
bugs.html | 441 ++++++++++++++--------------------------
bugs.md | 588 ++++++++++++++++++++++++++++++++++++++++--------------
2 files changed, 588 insertions(+), 441 deletions(-)
diff --git a/bugs.html b/bugs.html
index 21b498f54..079e5eb18 100644
--- a/bugs.html
+++ b/bugs.html
@@ -420,13 +420,11 @@ was not the only fix made in that entry).
Of course if you’re the author you’re welcome to fix your own entry, prefer your
own fix or suggest that they’re fixed!
List of entries by year, sorted in alphabetical order per year
-#
-1984
+
1984
-##
-1984/decot
+
1984/decot
STATUS: INABIAF - please DO NOT fix
@@ -437,9 +435,8 @@ you should see something like:
'",x); /*
\
without a newline after the \. This is not a bug.
-##
-1984/mullender
+
1984/mullender
STATUS: INABIAF - please DO NOT fix
@@ -454,36 +451,30 @@ author’s (or one of them, Mullender) remarks found by Cody. Cody fixed this to
compile and work (as best as he can determine: he has no VAX-11 or PDP-11 or
emulator to test it) but running the code on the binary itself produces a
short[] that can compile in modern systems though it’ll not work.
-#
-1985
+
1985
There are no known bugs and (Mis)features for entries in 1985.
-#
-1986
+
1986
-##
-1986/august
+
1986/august
STATUS: INABIAF - please DO NOT fix
This entry is known to segfault after printing its output. It was documented by
the judges and shouldn’t be fixed.
-#
-1987
+
1987
There are no known bugs and (Mis)features for entries in 1987.
-#
-1988
+
1988
-##
-1988/dale
+
1988/dale
STATUS: INABIAF - please DO NOT fix
@@ -491,13 +482,11 @@ the judges and shouldn’t be fixed.
In linux it might happen that despite no error message or message about doing
so, the program drops a core file into the directory even though the entry works
and does not crash.
-#
-1989
+
1989
-##
-1989/fubar
+
1989/fubar
STATUS: known bug - please help us fix
@@ -507,9 +496,8 @@ details) with a number < 0 or larger than, say 20, it’s very likely that th
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.
-##
-1989/robison
+
1989/robison
STATUS: INABIAF - please DO NOT fix
@@ -518,9 +506,8 @@ errors.
numbers with non-binary digits.
There are also other cases where this can happen for instance using unsupported
operators like /. To see what operators are supported check the source code.
-##
-1989/westley
+
1989/westley
STATUS: known bug - please help us fix
@@ -604,13 +591,11 @@ clang but I then carried it over to gcc in another system and it had syntax
errors.
That’s about all I can say for how it works as other things have to be done too.
Enjoy! :-)
-#
-1990
+
1990
-##
-1990/baruch
+
1990/baruch
STATUS: INABIAF - please DO NOT fix
@@ -674,9 +659,8 @@ more time and resources to run as well. For instance:
12655721857
./baruch 37496.97s user 58.50s system 99% cpu 10:27:48.29 total
This is not considered a bug, however.
-##
-1990/jaw
+
1990/jaw
STATUS: known bug - please help us fix
@@ -708,18 +692,16 @@ path not having . (this and maybe some other things were fixed) and
wanting to accept reading from stdin (this in particular) even with the right
options used, seemingly, it has to write to disk the tarball which seems to
defeat the purpose. This would ideally be fixed.
-##
-1990/tbr
+
1990/tbr
STATUS: INABIAF - please DO NOT fix
The authors provided a list of features in the
BUGS section in their remarks.
-##
-1990/theorem
+
1990/theorem
STATUS: INABIAF - please DO NOT fix
@@ -729,13 +711,11 @@ prevented this from working properly (including segfaults) but one thing to note
is that if you pass two zeroes to theorem_bkp or fibonacci the program
will enter an infinite loop, printing 0 over and over again; another condition
where this occurred was fixed but this one should not be fixed. Thank you.
-#
-1991
+
1991
-##
-1991/buzzard
+
1991/buzzard
STATUS: INABIAF - please DO NOT fix
@@ -744,9 +724,8 @@ where this occurred was fixed but this one should not be fixed. Thank you.
exist or because the default (whatever the source file was at compilation time)
file does not exist in the directory, this program will very likely crash.
This is a feature, not a bug.
-##
-1991/westley
+
1991/westley
STATUS: INABIAF - please DO NOT fix
@@ -757,13 +736,11 @@ you’re caught’. :-)
Please don’t try and fix it as it’s not a bug and was actually documented as a
possibility. Can you find out how? There’s also a way to make it so that even
when you’re cheating it ends up winning! Can you figure that out as well?
-#
-1992
+
1992
-##
-1992/adrian
+
1992/adrian
STATUS: INABIAF - please DO NOT fix
@@ -785,9 +762,8 @@ read only mode which is another reason) with the %s specifier it wi
changed either even if it appears to be wrong. Notice too a curious thing: if
you did change it to fprintf, even if you have the right number of args, you’d
have to remove the outer () pair.
-##
-1992/albert
+
1992/albert
STATUS: known bug - please help us fix
@@ -829,9 +805,8 @@ for the != 48 is also required.
condition.
The alt version does fix the problem but it is not obfuscated and not like the
entry itself. Can you fix the actual entry? You are welcome to try and do so.
-##
-1992/gson
+
1992/gson
STATUS: uses gets() - change to fgets() if possible
@@ -850,9 +825,8 @@ line Cody changed the buffer size to ARG_MAX+1 which should be enou
theoretically) especially since the command expects redirecting a dictionary
file as part of the command line. This also makes it possible for longer strings
to be read (in case the gets(3) was not used in a loop).
-##
-1992/kivinen
+
1992/kivinen
STATUS: known bug - please help us fix
@@ -861,9 +835,8 @@ to be read (in case the gets(3) was not used in a loop).
then ends. Yusuke Endoh pointed out that if you
click the mouse it takes it back towards the centre.
If you want to try and fix this (mis)feature, you are welcome to try.
-##
-1992/lush
+
1992/lush
STATUS: doesn’t work with some compilers - please provide alternative code or fix for more compilers
@@ -927,9 +900,8 @@ than that. For instance this is what it looks like with clang:
The entry is supposed to show warnings and then print:
Hello World.
Can you help us?
-##
-1992/vern
+
1992/vern
STATUS: INABIAF - please DO NOT fix
@@ -937,9 +909,8 @@ than that. For instance this is what it looks like with clang:
When your own checkmate is imminent it prints "Har har" but does not exit so
it can ‘rub your nose in defeat’, as the author puts it. You will have to exit
it yourself through ctrl-c or killing it in some other fashion.
-##
-1992/westley
+
1992/westley
STATUS: INABIAF - please DO NOT fix
@@ -962,9 +933,8 @@ This might be a misunderstanding or it might be that having 80 columns (resized)
does not count (though the output before the fix of the 80 column requirement
showed was correct when at 80-columns so it seems like this could be a bug if
not a misunderstanding).
-#
-1993
+
1993
STATUS: INABIAF - please DO NOT fix
@@ -986,9 +956,8 @@ not exist in the archive. Do you have it? Please provide it!
In multiple platforms, both macOS and also linux (in particular a RHEL 9.3
system), this entry just shows a blank screen.
Can you fix it? We welcome your help.
-##
-1993/lmfjyh
+
1993/lmfjyh
STATUS: INABIAF - please DO NOT fix
@@ -997,9 +966,8 @@ system), this entry just shows a blank screen.
cannot be fixed for modern systems as the bug is long gone.
An alternate version that will work for modern systems, however, does exist. See
the index.html file for details.
-##
-1993/rince
+
1993/rince
STATUS: INABIAF - please DO NOT fix
@@ -1008,9 +976,8 @@ the index.html file for details.
will cause problems. No other checks are performed either.
There is no end of game checking method so you will have to quit the game
through ctrl-c or such.
-##
-1993/schnitzi
+
1993/schnitzi
STATUS: INABIAF - please DO NOT fix
@@ -1046,13 +1013,11 @@ question you might cause an error. For instance don’t do this:
spurious results.
The unary - is an operator so decimal -46 should be entered as -d46 and
not d-46.
-#
-1994
+
1994
-##
-1994/dodsond2
+
1994/dodsond2
STATUS: INABIAF - please DO NOT fix
@@ -1061,9 +1026,8 @@ not d-46.
before you choose where to shoot.
When you shoot it will move you to that room so if you end up shooting into a
pit room you will end up dying even though you didn’t explicitly move there.
-##
-1994/ldb
+
1994/ldb
STATUS: INABIAF - please DO NOT fix
@@ -1079,9 +1043,8 @@ if the line length < 231.
would be ideal for it to never print a newline unless that’s the line itself it
might be tampering too much with the entry as it’s not a real problem and as a
one liner it’s already quite long.
-##
-1994/schnitzi
+
1994/schnitzi
STATUS: uses gets() - change to fgets() if possible
@@ -1166,9 +1129,8 @@ can cause a compilation error! Make sure that the output of:
./schnitzi < schnitzi.c
can be compiled and the output of that new program when fed itself can also be
compiled!
-##
-1994/shapiro
+
1994/shapiro
STATUS: INABIAF - please DO NOT fix
@@ -1197,9 +1159,8 @@ condition check that the return value is >= 0 does not cause a compilation er
and it functions correctly it will address the systems where EOF != -1 just as
if it checked for != EOF.
Since it works there is no need to fix this except for a challenge to yourself.
-##
-1994/tvr
+
1994/tvr
STATUS: known bug - please help us fix
@@ -1210,13 +1171,11 @@ if it checked for != EOF.
fix it without breaking something else?
You are welcome to try and fix it and open a pull request, providing that it
doesn’t break something else.
-#
-1995
+
1995
-##
-1995/cdua
+
1995/cdua
STATUS: INABIAF - please DO NOT fix
@@ -1229,9 +1188,8 @@ prompt you to press return again. This was thought to be a bug but looking at
the code it can clearly be seen that if g - a is 0 then the message is
supposed to be printed again and one is supposed to press a key as at that point
it calls getchar() via the pointer m. So this is a feature not a bug.
-##
-1995/leo
+
1995/leo
STATUS: known bug - please help us fix
@@ -1248,18 +1206,16 @@ to work at all even if one redirects to a file (like the workaround for the
first) as it appears to just block.
It is not known if this is platform specific but this was observed in macOS and
it would be good if it was fixed.
-##
-1995/savastio
+
1995/savastio
STATUS: INABIAF - please DO NOT fix
This program expects a POSITIVE number. If you specify a negative number it will
not show any output, stuck in a loop.
-##
-1995/vanschnitz
+
1995/vanschnitz
STATUS: missing file - please provide it
@@ -1267,13 +1223,11 @@ not show any output, stuck in a loop.
The authors stated that they included a version that allows people with just K&R
compilers to use the program but this file is missing. Can you provide it?
We would appreciate anyone who has it or even just knows the name! Thank you.
-#
-1996
+
1996
-##
-1996/gandalf
+
1996/gandalf
STATUS: missing or dead link - please provide them
@@ -1281,9 +1235,8 @@ compilers to use the program but this file is missing. Can you provide it?
The link was http://www.tc3.co.uk/~gandalf/G.HTML but this no longer exists as
it was instead requiring a login / password.
Do you have an updated link? We welcome your help!
-##
-1996/huffman
+
1996/huffman
STATUS: uses gets() - change to fgets() if possible
@@ -1316,9 +1269,8 @@ almost be done except that some of the output of the
{ a = 0; y ( a [ b ]
But since it does not for the time being it is advisable to just redirect
stderr to /dev/null (2>/dev/null).
-##
-1996/jonth
+
1996/jonth
STATUS: INABIAF - please DO NOT fix
@@ -1331,18 +1283,15 @@ off the other so that you can properly play.
As well: the link which was http://www.uio.no/~jonth is no longer valid and
there’s no archive on the Internet Wayback Machine. Do you know of a proper URL?
We greatly appreciate your help here!
-#
-1997
+
1997
There was no IOCCC in 1997.
-#
-1998
+
1998
-##
-1998/dlowe
+
1998/dlowe
STATUS: missing or dead link - please provide them
@@ -1352,17 +1301,15 @@ given a script that can be used to make a similar page (warning: not che
for security in modern days!). Do you have a server with enough bandwidth and
would like to set it up? We’ll gladly thank you in the index.html file and link
to the page as well! You’ll have IOCCC fame for reviving a pootifier! :-)
-##
-1998/dloweneil
+
1998/dloweneil
STATUS: missing or dead link - please provide them
See above entry 1998/dlowe.
-##
-1998/schnitzi
+
1998/schnitzi
STATUS: INABIAF - please DO NOT fix
@@ -1377,18 +1324,15 @@ be a problem including a segfault.
If you use the generated program and do not give enough numbers in input
something funny will happen, very possibly with different results per run. This
is in the index.html file as something to try and ponder.
-#
-1999
+
1999
There was no IOCCC in 1999.
-#
-2000
+
2000
-##
-2000/dlowe
+
2000/dlowe
STATUS: known bug - please help us fix
@@ -1559,9 +1503,8 @@ crash this makes sense.
likely print different warnings when compiling. It was observed that with
Homebrew it does not report any warnings but with MacPorts it results in a total
of 92 warnings! Nonetheless neither works okay and both crash.
-##
STATUS: INABIAF - please DO NOT fix
@@ -1578,9 +1521,8 @@ fix this.
try to fix the crashing of this code except to challenge yourself (if you think
that it’ll be worth your two second fix :-) ). If you do fix it please do not
make a pull request.
-##
-2000/rince
+
2000/rince
STATUS: INABIAF - please DO NOT fix
@@ -1588,13 +1530,11 @@ make a pull request.
If DISPLAY is not set the program will very likely crash, do something strange
(or if you’re very unlucky your computer might halt and catch
fire! :-) ).
-#
-2001
+
2001
-##
-2001/anonymous
+
2001/anonymous
STATUS: INABIAF - please DO NOT fix
@@ -1616,9 +1556,8 @@ can run ELF binaries but cannot compile 32-bit binaries.
Note also that if you don’t specify a file or you specify a non-32-bit ELF file
this program will very likely crash or do something strange like slaughter the
elves of Imladris :-(
-##
-2001/bellard
+
2001/bellard
STATUS: INABIAF - please DO NOT fix
@@ -1668,17 +1607,15 @@ the compiler won’t work there.
Also the supplementary program, which did not work at all, was fixed (by Cody)
and it can be run by itself for fun in modern systems, which was not possible
before the fixes there.
-##
-2001/dgbeards
+
2001/dgbeards
STATUS: INABIAF - please DO NOT fix
This program deliberately crashes if it loses (which is what it aims to do).
-##
-2001/herrmann1
+
2001/herrmann1
STATUS: missing files - please provide them
@@ -1691,9 +1628,8 @@ 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
appreciate your help!
If you want to try and fix this (mis)feature, you are welcome to try.
-##
-2001/kev
+
2001/kev
STATUS: INABIAF - please DO NOT fix
@@ -1710,18 +1646,16 @@ program can segfault.
points.
Although it is independent of endianness both systems need the same character
set. In other words both have to be ASCII or EBCDIC - not one of each.
-##
-2001/rosten
+
2001/rosten
STATUS: missing files - please provide them
The author stated that there is a cat man page for this program in case one
wanted to install it as a tool but this is missing.
-##
-2001/schweikh
+
2001/schweikh
STATUS: INABIAF - please DO NOT fix
@@ -1729,9 +1663,8 @@ wanted to install it as a tool but this is missing.
The glob pattern must match the whole string. See the author’s comments for
details and a workaround.
There’s also no way to escape meta characters.
-##
-2001/westley
+
2001/westley
STATUS: uses gets() - change to fgets() if possible
@@ -1754,9 +1687,8 @@ nobody else takes up the challenge.
STATUS: missing files - please provide them
The author referred to a file card.gif but this file is missing. Do you have
it? Please provide it!
-##
-2001/williams
+
2001/williams
STATUS: known bug - please help us fix
@@ -1790,23 +1722,19 @@ to be the case (though this was not tried as many times) if you start shooting
when the missiles come down. The fact you can shoot after it starts that
sleeping in a loop does suggest that it’s not stuck only showing those lines and
sleeping.
-#
-2002
+
2002
There was no IOCCC in 2002.
-#
-2003
+
2003
There was no IOCCC in 2003.
-#
-2004
+
2004
-##
-2004/gavin
+
2004/gavin
STATUS: compiled executable crashes - please help us fix
@@ -1894,9 +1822,8 @@ fit into the current IOCCC build environment.
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
+
2004/jdalbec
STATUS: INABIAF - please DO NOT fix
@@ -1920,22 +1847,19 @@ things that are not bugs but documented (mis)features.
incorrect results (e.g., generation 1 starting from a string
of 257 `1`s will be calculated as `11`); the remark from the
previous paragraph applies here also.
-##
-2004/sds
+
2004/sds
STATUS: INABIAF - please DO NOT fix
The generated code will very likely segfault or do something not intended if not
given the right args. See the index.html file for the correct syntax.
-#
-2005
+
2005
-##
-2005/anon
+
2005/anon
STATUS: INABIAF - please DO NOT fix
@@ -1948,9 +1872,8 @@ details on this.
If you specify more than three args the program might also crash or do something
strange. This might also happen if you specify excessively large board
dimensions. Try 100 100 100 for instance and see what happens!
-##
-2005/giljade
+
2005/giljade
STATUS: INABIAF - please DO NOT fix
@@ -1958,9 +1881,8 @@ dimensions. Try 100 100 100 for instance and see what happens!
This entry will very likely segfault or do something strange if the source code
does not exist.
This entry requires that sed and make are in the path.
-##
-2005/mikeash
+
2005/mikeash
STATUS: INABIAF - please DO NOT fix
@@ -1993,9 +1915,8 @@ nowhere near
Basically, the [LISP][] interpreter is good for some basic math operations, and
for running itself.
-##
-2005/mynx
+
2005/mynx
STATUS: INABIAF - please DO NOT fix
@@ -2008,9 +1929,8 @@ work with https but the problem otherwise is a secure connection has to first be
set up in order to give http commands. This is not a bug but it’s worth pointing
out as it won’t work on as many websites as it used to including the IOCCC
website itself.
-##
-2005/sykes
+
2005/sykes
STATUS: INABIAF - please DO NOT fix
@@ -2033,13 +1953,11 @@ not run correctly.
6502
emulation does not include the seldom
used decimal mode, or any of the “undocumented” instructions.
-#
-2006
+
2006
-##
-2006/birken
+
2006/birken
STATUS: uses gets() - change to fgets() if possible
@@ -2050,9 +1968,8 @@ obnoxious in macOS as it shows it at runtime (redirecting stderr to
with at least computer.tofu input file:
12a13
#define gets(c) fgets((c),PI,stdin)&&(((c)[strlen((c))-1]='\0'),c!=NULL)
-##
-2006/borsanyi
+
2006/borsanyi
STATUS: INABIAF - please DO NOT fix
@@ -2060,9 +1977,8 @@ with at least computer.tofu input file:
The string specified must be <= 42 characters and may only consist of the
characters in the regex a-z_A-Z0-9@.-. Breaking these constraints will end up
with possibly corrupt GIF files.
-##
-2006/monge
+
2006/monge
@@ -2078,9 +1994,8 @@ 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
Incorrect formulas will ungracefully crash the program.
-##
-2006/sykes1
+
2006/sykes1
STATUS: INABIAF - please DO NOT fix
@@ -2096,9 +2011,8 @@ welcome to try and fix it if you wish to!
If you pick a number higher than 460464 (24x19186) the program will
return without outputting a solution. If you can wait that long.
-##
-2006/toledo2
+
2006/toledo2
STATUS: INABIAF - please DO NOT fix
@@ -2115,33 +2029,27 @@ longer seems to happen but we don’t need this to be added even if it might
be called a bug :-)
You must type in caps (except in strings) and this program is indeed
case-sensitive.
-#
-2007
+
2007
There was no IOCCC in 2007.
-#
-2008
+
2008
There was no IOCCC in 2008.
-#
-2009
+
2009
There was no IOCCC in 2009.
-#
-2010
+
2010
There was no IOCCC in 2010.
-#
-2011
+
2011
-##
-2011/borsanyi
+
2011/borsanyi
STATUS: INABIAF - please DO NOT fix
@@ -2156,9 +2064,8 @@ available stack space.
Giving any arg to the program is likely to flood your screen.
Rounding errors might cause an omission in the highest bin. There might be empty
bins at the edges.
-##
-2011/dlowe
+
2011/dlowe
STATUS: missing or dead link - please provide them
@@ -2177,9 +2084,8 @@ tends to result in empty output.
Will crash and die horribly if it runs out of memory.
If you want to try and fix this (mis)feature, you are welcome to try.
-##
-2011/fredriksson
+
2011/fredriksson
STATUS: INABIAF - please DO NOT fix
@@ -2188,9 +2094,8 @@ tends to result in empty output.
list is rather long see other
features and limitations and
remarks instead.
-##
-2011/richards
+
2011/richards
@@ -2351,9 +2256,8 @@ Cody noticed a curious thing in the mprotect() function: #if
unconfirmed and it’s not known when CONFIG_DYNAMIC_CODE_SIGNING would be
defined.
Do you have a fix? We welcome it!
-##
-2011/vik
+
2011/vik
STATUS: INABIAF - please DO NOT fix
@@ -2361,13 +2265,11 @@ defined.
The author stated that the program will crash if no argument is passed to the
program though we note that your computer might also halt and catch
fire :-)
-#
-2012
+
2012
-##
-2012/blakely
+
2012/blakely
STATUS: INABIAF - please DO NOT fix
@@ -2375,9 +2277,8 @@ fire :-)
The author stated:
If there is a division by zero, square-root of a negative number, or similar
operation, then the results are undefined.
-##
-2012/deckmyn
+
2012/deckmyn
STATUS: INABIAF - please DO NOT fix
@@ -2409,9 +2310,8 @@ fire :-)
Therefore, when preparing music in a file, care should be taken that the last
musical element of a line is only 2 characters!
The manual referred to is here.
-##
-2012/dlowe
+
2012/dlowe
STATUS: INABIAF - please DO NOT fix
@@ -2424,9 +2324,8 @@ doesn’t make it possible to lock drawing to the display refresh rate.)
dead.d and sprites.d).
Cannot build or run without X11 (or an X11 compatibility layer).
-##
-2012/tromp
+
2012/tromp
STATUS: INABIAF - please DO NOT fix
@@ -2446,9 +2345,8 @@ doesn’t make it possible to lock drawing to the display refresh rate.)
echo ">Hello, world" | ./tromp
will likely dump core.
-##
-2012/vik
+
2012/vik
STATUS: INABIAF - please DO NOT fix
@@ -2458,13 +2356,11 @@ program or if invalid arguments (e.g. file does not exist) or images of
mismatching sizes or unsupported pixel formats though we note that your computer
might also halt and catch
fire :-)
-#
-2013
+
2013
-##
-2013/cable2
+
2013/cable2
STATUS: INABIAF - please DO NOT fix
@@ -2483,9 +2379,8 @@ antialiasing interferes with color detection in “color” mode.
Only runs on little endian machines (since the BMP format is little endian,
and endianness conversion would make the source too large for IOCCC rule 2).
-##
-2013/dlowe
+
2013/dlowe
STATUS: INABIAF - please DO NOT fix
@@ -2503,9 +2398,8 @@ something funny (or will it? :-) ) and when will it just do nothing?
Only works if your terminal is UTF-8 and your font supports the 8 glyphs
used.
-##
-2013/endoh1
+
2013/endoh1
STATUS: INABIAF - please DO NOT fix
@@ -2520,9 +2414,8 @@ used.
In addition, there are some limitations (and workarounds) mentioned in Spoiler
section.
–
-##
-2013/endoh3
+
2013/endoh3
STATUS: INABIAF - please DO NOT fix
@@ -2534,26 +2427,23 @@ such as C2E2.
Can you figure out why?
A workaround is inserting a whitespace: C2 E2.
–
-##
-2013/endoh4
+
2013/endoh4
STATUS: INABIAF - please DO NOT fix
Invalid input files will very likely crash the program.
-##
-2013/hou
+
2013/hou
STATUS: INABIAF - please DO NOT fix
This program will not terminate on its own; you must kill hou (but not Qiming
Hou :-) ) yourself. This should not be fixed.
-##
-2013/mills
+
2013/mills
STATUS: INABIAF - please DO NOT fix
@@ -2564,13 +2454,11 @@ the socket (which obviously you do). The source is out the scope of this
document but the author does mention the well known (at least to those of us who
have experience with socket programming :-) ) fix. However as the author pointed
it out as a known limitation it is not a bug but a feature.
-#
-2014
+
2014
-##
-2014/maffiodo1
+
2014/maffiodo1
STATUS: INABIAF - please DO NOT fix
@@ -2593,17 +2481,15 @@ collide with blocks and get stuck inside them. This is a KNOWN BUG. When your
player become bigger, stay away from blocks!
–
but since it’s documented it’s considered a feature, not a bug to fix.
-##
-2014/maffiodo2
+
2014/maffiodo2
STATUS: INABIAF - please DO NOT fix
This program will very likely crash if no arg is given.
-##
-2014/vik
+
2014/vik
STATUS: known bug - please help us fix
@@ -2631,13 +2517,11 @@ rely on the entry as the below shows. One should be able to do:
./prog e < ioccc.raw
they will properly get:
IOCCC
-#
-2015
+
2015
-##
-2015/hou
+
2015/hou
STATUS: INABIAF - please DO NOT fix
@@ -2661,9 +2545,8 @@ takes care to warn about this issue after printing an incorrect big-endian
result. Error messages become garbled, though.
–
-##
-2015/mills2
+
2015/mills2
STATUS: INABIAF - please DO NOT fix
@@ -2671,9 +2554,8 @@ result. Error messages become garbled, though.
The program doesn’t look at the header of files so if it’s passed something hat
is not compressed data it’s likely to crash.
The program depends on little endian systems.
-##
-2015/schweikhardt
+
2015/schweikhardt
STATUS: INABIAF - please DO NOT fix
@@ -2688,23 +2570,19 @@ on 24-bit or 36-bit systems with 9 bits/byte, or systems where
sizeof(typ) is 1 even for int and so on. On such systems, it will only
use 8 * sizeof(typ) bits per place. It does not work when CHAR_BIT <= 7.
–
-#
-2016
+
2016
There was no IOCCC in 2016.
-#
-2017
+
2017
There was no IOCCC in 2017.
-#
-2018
+
2018
-##
-2018/algmyr
+
2018/algmyr
STATUS: INABIAF - please DO NOT fix
@@ -2722,9 +2600,8 @@ behavior. Some erroneous arguments cause segfaults (negative number of channels,
channel id outside valid range). One argument in particular causes an infinite
loop printing whitespace.
-##
-2018/hou
+
2018/hou
STATUS: INABIAF - please DO NOT fix
@@ -2738,9 +2615,8 @@ be generated properly.
Some JSON files might cause the program to continue to run and seemingly
infinitely increase the size of the output file. This can happen if you try
fixing the syntax error in the generated ioccc.json file.
-##
-2018/mills
+
2018/mills
STATUS: known bug - please help us fix
@@ -2764,9 +2640,8 @@ referred to by the author but there was likely no typo involved.
Cody notes that if you are using the saved mode you must type sync prior to
exiting the program or else the next time you run it the file will not exist (or
in the case of compiled code it won’t be executable).
-##
-2018/vokes
+
2018/vokes
STATUS: INABIAF - please DO NOT fix
@@ -2810,31 +2685,27 @@ limit.
the values 48 through 57, rather than using isdigit(3). As noted above,
this program has nothing to do with a hand.
-#
-2019
+
2019
-##
-2019/adamovsky
+
2019/adamovsky
STATUS: INABIAF - please DO NOT fix
Certain input can crash this program. The file
crash.unl is an example file.
-##
-2019/burton
+
2019/burton
STATUS: INABIAF - please DO NOT fix
The author pointed out that some implementations of wc(1) show different
values but his implementation matches that of macOS and FreeBSD.
-##
-2019/ciura
+
2019/ciura
STATUS: INABIAF - please DO NOT fix
@@ -2857,18 +2728,16 @@ in the de.sh/de.alt.sh scripts:
# if it's not impossible. Nevertheless, we do include the other characters
# whether or not they are in your view considered part of the alphabet for the
# reason that so many words have them.
-##
-2019/dogon
+
2019/dogon
STATUS: uses gets() - change to fgets() if possible
The author does not it uses gets() and one will get warnings but it would be
ideal if this was not the case.
-##
-2019/duble
+
2019/duble
STATUS: INABIAF - please DO NOT fix
@@ -2896,18 +2765,16 @@ in the directory:
To delete them you can do:
find . -exec file '{}' \;|grep socket|cut -f 1 -d: | xargs rm -f
though one might want to check that the program is not currently running. :-)
-##
-2019/endoh
+
2019/endoh
STATUS: INABIAF - please DO NOT fix
As a backtrace quine this entry is SUPPOSED to segfault so this should not be
touched either.
-##
-2019/karns
+
2019/karns
STATUS: INABIAF - please DO NOT fix
@@ -2930,9 +2797,8 @@ not encountered this myself).
The program could be obfuscated much further.
The program contains some unused code and data.
-##
-2019/lynn
+
2019/lynn
STATUS: INABIAF - please DO NOT fix
@@ -2941,9 +2807,8 @@ not encountered this myself).
expect. Rather than duplicate the information we refer you to the author’s
remarks in the sections Syntax and
Caveats.
-##
-2019/mills
+
2019/mills
STATUS: INABIAF - please DO NOT fix
@@ -2964,9 +2829,8 @@ with the actual hard limit). On csh/tcsh shells, you c
the hard limit with limit -h stacksize and set it with
limit stacksize 65532 (replacing 65532 with the actual hard limit).
-##
-2019/poikola
+
2019/poikola
STATUS: INABIAF - please DO NOT fix
@@ -2974,9 +2838,8 @@ the hard limit with limit -h stacksize and set it with
This program will not validate input so it might fail or get stuck if invoked
erroneously.
Also, the maximum file size is 1GB.
-##
-2019/yang
+
2019/yang
STATUS: INABIAF - please DO NOT fix
@@ -2985,13 +2848,11 @@ erroneously.
The author also stated that ‘if input contains CR-LF end of line sequences,
those CRs are silently dropped. In fact, most control codes are silently
ignored except line feeds (preserved) and tabs (expanded to 8 spaces).’
-#
-2020
+
2020
-##
-2020/burton
+
2020/burton
STATUS: INABIAF - please DO NOT fix
@@ -3001,9 +2862,8 @@ documented and should not be fixed (of course you may fix it to see if you can
but it shouldn’t be made into a pull request).
It will also show funny output with more than one arg. This should not be fixed
either. But can you figure out why this happens?
-##
-2020/carlini
+
2020/carlini
STATUS: INABIAF - please DO NOT fix
@@ -3016,9 +2876,8 @@ lose.
If a player tries to play a move they already played they will forfeit their
move.
If you have audible bells enabled the program will beep at every turn.
-##
-2020/ferguson1
+
2020/ferguson1
STATUS: INABIAF - please DO NOT fix
@@ -3027,9 +2886,8 @@ move.
things that are misinterpreted as bugs. See the
bugs.html and
troubleshooting.html files for details.
-##
-2020/giles
+
2020/giles
STATUS: INABIAF - please DO NOT fix
@@ -3037,9 +2895,8 @@ things that are misinterpreted as bugs. See the
The author noted that the program only supports WAV files that have
exactly 16 bits per sample, but it allows any sample rate and any number of
audio channels.
-##
-2020/otterness
+
2020/otterness
STATUS: INABIAF - please DO NOT fix
@@ -3060,24 +2917,20 @@ cause of program failures, in my experience, has been Limitation 2.
See also the Program error
codes written by the author
which lists some other conditions which should be considered features, not bugs.
-#
-2021
+
2021
There was no IOCCC in 2021.
-#
-2022
+
2022
There was no IOCCC in 2022.
-#
-2023
+
2023
There was no IOCCC in 2023.
-#
-2024
+
2024
We hope to run the IOCCCMOCK this year, 2024, and hopefully the next IOCCC, but
for now we wish everyone a happy new year!
diff --git a/bugs.md b/bugs.md
index 253d769b8..b7185c25f 100644
--- a/bugs.md
+++ b/bugs.md
@@ -409,10 +409,14 @@ own fix or suggest that they're fixed!
# List of entries by year, sorted in alphabetical order per year
-# 1984
+
+# 1984
+
-## 1984/decot
+
+## 1984/decot
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1984/decot/dedot.c](1984/decot/decot.c)
@@ -430,7 +434,9 @@ you should see something like:
without a newline after the `\`. This is not a bug.
-## 1984/mullender
+
+## 1984/mullender
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1984/mullender/mullender.c](1984/mullender/mullender.c)
@@ -449,15 +455,21 @@ emulator to test it) but running the code on the binary itself produces a
`short[]` that can compile in modern systems though it'll not work.
-# 1985
+
+# 1985
+
There are no known bugs and (Mis)features for entries in 1985.
-# 1986
+
+# 1986
+
-## 1986/august
+
+## 1986/august
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1986/august/august.c](1986/august/august.c)
@@ -468,15 +480,21 @@ This entry is known to segfault after printing its output. It was documented by
the judges and shouldn't be fixed.
-# 1987
+
+# 1987
+
There are no known bugs and (Mis)features for entries in 1987.
-# 1988
+
+# 1988
+
-## 1988/dale
+
+## 1988/dale
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1988/dale/dale.c](1988/dale/dale.c)
@@ -487,10 +505,14 @@ so, the program drops a core file into the directory even though the entry works
and does not crash.
-# 1989
+
+# 1989
+
-## 1989/fubar
+
+## 1989/fubar
+
### STATUS: known bug - please help us fix
### Source code: [1989/fubar/fubar.c](1989/fubar/fubar.c)
@@ -504,7 +526,9 @@ errors.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 1989/robison
+
+## 1989/robison
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1989/robison/robison.c](1989/robison/robison.c)
@@ -517,7 +541,9 @@ There are also other cases where this can happen for instance using unsupported
operators like `/`. To see what operators are supported check the source code.
-## 1989/westley
+
+## 1989/westley
+
### STATUS: known bug - please help us fix
### Source code: [1989/westley/westley.c](1989/westley/westley.c)
@@ -640,10 +666,14 @@ That's about all I can say for how it works as other things have to be done too.
Enjoy! :-)
-# 1990
+
+# 1990
+
-## 1990/baruch
+
+## 1990/baruch
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1990/baruch/baruch.c](1990/baruch/baruch.c)
@@ -714,7 +744,9 @@ more time and resources to run as well. For instance:
This is not considered a bug, however.
-## 1990/jaw
+
+## 1990/jaw
+
### STATUS: known bug - please help us fix
### Source code: [1990/jaw/jaw.c](1990/jaw/jaw.c)
@@ -768,7 +800,9 @@ options used, seemingly, it has to write to disk the tarball which seems to
defeat the purpose. This would ideally be fixed.
-## 1990/tbr
+
+## 1990/tbr
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1990/tbr/tbr.c](1990/tbr/tbr.c)
@@ -778,7 +812,9 @@ The authors provided a list of features in the
[BUGS](1990/tbr/index.html#bugs) section in their remarks.
-## 1990/theorem
+
+## 1990/theorem
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1990/theorem/theorem.c](1990/theorem/theorem.c)
@@ -791,10 +827,14 @@ will enter an infinite loop, printing 0 over and over again; another condition
where this occurred was fixed but this one should not be fixed. Thank you.
-# 1991
+
+# 1991
+
-## 1991/buzzard
+
+## 1991/buzzard
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1991/buzzard/buzzard.c](1991/buzzard/buzzard.c)
@@ -807,7 +847,9 @@ file does not exist in the directory, this program will very likely crash.
This is a feature, not a bug.
-## 1991/westley
+
+## 1991/westley
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1991/westley/westley.c](1991/westley/westley.c)
@@ -822,10 +864,14 @@ possibility. Can you find out how? There's also a way to make it so that even
when you're cheating it ends up winning! Can you figure that out as well?
-# 1992
+
+# 1992
+
-## 1992/adrian
+
+## 1992/adrian
+
### STATUS: INABIAF - please **DO NOT** fix
@@ -857,7 +903,9 @@ you did change it to fprintf, even if you have the right number of args, you'd
have to remove the outer `()` pair.
-## 1992/albert
+
+## 1992/albert
+
### STATUS: known bug - please help us fix
@@ -922,7 +970,9 @@ The alt version does fix the problem but it is not obfuscated and not like the
entry itself. Can you fix the actual entry? You are welcome to try and do so.
-## 1992/gson
+
+## 1992/gson
+
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1992/gson/gson.c](1992/gson/gson.c)
@@ -947,7 +997,9 @@ to be read (in case the `gets(3)` was not used in a loop).
-## 1992/kivinen
+
+## 1992/kivinen
+
### STATUS: known bug - please help us fix
### Source code: [1992/kivinen/kivinen.c](1992/kivinen/kivinen.c)
@@ -960,7 +1012,9 @@ click the mouse it takes it back towards the centre.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 1992/lush
+
+## 1992/lush
+
### STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
### Source code: [1992/lush/lush.c](1992/lush/lush.c)
@@ -1043,7 +1097,9 @@ The entry is supposed to show warnings and then print:
Can you help us?
-## 1992/vern
+
+## 1992/vern
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1992/vern/vern.c](1992/vern/vern.c)
@@ -1054,7 +1110,9 @@ it can 'rub your nose in defeat', as the author puts it. You will have to exit
it yourself through ctrl-c or killing it in some other fashion.
-## 1992/westley
+
+## 1992/westley
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1992/westley/westley.c](1992/westley/westley.c)
@@ -1091,7 +1149,9 @@ showed was correct when at 80-columns so it seems like this could be a bug if
not a misunderstanding).
-# 1993
+
+# 1993
+
### STATUS: INABIAF - please **DO NOT** fix
@@ -1127,7 +1187,9 @@ system), this entry just shows a blank screen.
Can you fix it? We welcome your help.
-## 1993/lmfjyh
+
+## 1993/lmfjyh
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/lmfjyh/lmfjyh.c](1993/lmfjyh/lmfjyh.c)
@@ -1140,7 +1202,9 @@ An alternate version that will work for modern systems, however, does exist. See
the index.html file for details.
-## 1993/rince
+
+## 1993/rince
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/rince/rince.c](1993/rince/rince.c)
@@ -1153,7 +1217,9 @@ There is no end of game checking method so you will have to quit the game
through ctrl-c or such.
-## 1993/schnitzi
+
+## 1993/schnitzi
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/schnitzi/schnitzi.c](1993/schnitzi/schnitzi.c)
@@ -1211,10 +1277,14 @@ The unary `-` is an operator so decimal `-46` should be entered as `-d46` and
not `d-46`.
-# 1994
+
+# 1994
+
-## 1994/dodsond2
+
+## 1994/dodsond2
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/dodsond2/dodsond2.c](1994/dodsond2/dodsond2.c)
@@ -1227,7 +1297,9 @@ When you shoot it will move you to that room so if you end up shooting into a
pit room you will end up dying even though you didn't explicitly move there.
-## 1994/ldb
+
+## 1994/ldb
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/ldb/ldb.c](1994/ldb/ldb.c)
@@ -1247,7 +1319,9 @@ might be tampering too much with the entry as it's not a real problem and as a
one liner it's already quite long.
-## 1994/schnitzi
+
+## 1994/schnitzi
+
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1994/schnitzi/schnitzi.c](1994/schnitzi/schnitzi.c)
@@ -1372,7 +1446,9 @@ can be compiled and the output of that new program when fed itself can also be
compiled!
-## 1994/shapiro
+
+## 1994/shapiro
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/shapiro/shapiro.c](1994/shapiro/shapiro.c)
@@ -1415,7 +1491,9 @@ if it checked for `!= EOF`.
Since it works there is no need to fix this except for a challenge to yourself.
-## 1994/tvr
+
+## 1994/tvr
+
### STATUS: known bug - please help us fix
### Source code: [1994/tvr/tvr.c](1994/tvr/tvr.c)
@@ -1435,10 +1513,14 @@ You are welcome to try and fix it and open a pull request, providing that it
doesn't break something else.
-# 1995
+
+# 1995
+
-## 1995/cdua
+
+## 1995/cdua
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1995/cdua/cdua.c](1995/cdua/cdua.c)
@@ -1455,7 +1537,9 @@ supposed to be printed again and one is supposed to press a key as at that point
it calls `getchar()` via the pointer `m`. So this is a feature not a bug.
-## 1995/leo
+
+## 1995/leo
+
### STATUS: known bug - please help us fix
### Source code: [1995/leo/leo.c](1995/leo/leo.c)
@@ -1485,7 +1569,9 @@ It is not known if this is platform specific but this was observed in macOS and
it would be good if it was fixed.
-## 1995/savastio
+
+## 1995/savastio
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1995/savastio/savastio.c](1995/savastio/savastio.c)
@@ -1495,7 +1581,9 @@ This program expects a POSITIVE number. If you specify a negative number it will
not show any output, stuck in a loop.
-## 1995/vanschnitz
+
+## 1995/vanschnitz
+
### STATUS: missing file - please provide it
### Source code: [1995/vanschnitz/vanschnitz.c](1995/vanschnitz/vanschnitz.c)
@@ -1507,10 +1595,14 @@ compilers to use the program but this file is missing. Can you provide it?
We would appreciate anyone who has it or even just knows the name! Thank you.
-# 1996
+
+# 1996
+
-## 1996/gandalf
+
+## 1996/gandalf
+
### STATUS: missing or dead link - please provide them
### Source code: [1996/gandalf/gandalf.c](1996/gandalf/gandalf.c)
@@ -1522,7 +1614,9 @@ it was instead requiring a login / password.
Do you have an updated link? We welcome your help!
-## 1996/huffman
+
+## 1996/huffman
+
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1996/huffman/huffman.c](1996/huffman/huffman.c)
@@ -1563,7 +1657,9 @@ But since it does not for the time being it is advisable to just redirect
`stderr` to `/dev/null` (`2>/dev/null`).
-## 1996/jonth
+
+## 1996/jonth
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1996/jonth/jonth.c](1996/jonth/jonth.c)
@@ -1583,15 +1679,21 @@ there's no archive on the Internet Wayback Machine. Do you know of a proper URL?
We greatly appreciate your help here!
-# 1997
+
+# 1997
+
There was no IOCCC in 1997.
-# 1998
+
+# 1998
+
-## 1998/dlowe
+
+## 1998/dlowe
+
### STATUS: missing or dead link - please provide them
### Source code: [1998/dlowe/dlowe.c](1998/dlowe/dlowe.c)
@@ -1604,7 +1706,9 @@ would like to set it up? We'll gladly thank you in the index.html file and link
to the page as well! You'll have IOCCC fame for reviving a pootifier! :-)
-## 1998/dloweneil
+
+## 1998/dloweneil
+
### STATUS: missing or dead link - please provide them
### Source code: [1998/dloweneil/dloweneil.c](1998/dloweneil/dloweneil.c)
@@ -1613,7 +1717,9 @@ to the page as well! You'll have IOCCC fame for reviving a pootifier! :-)
See above entry [1998/dlowe](1998/dlowe/dlowe.c).
-## 1998/schnitzi
+
+## 1998/schnitzi
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1998/schnitzi/schnitzi.c](1998/schnitzi/schnitzi.c)
@@ -1636,15 +1742,21 @@ something funny will happen, very possibly with different results per run. This
is in the index.html file as something to try and ponder.
-# 1999
+
+# 1999
+
There was no IOCCC in 1999.
-# 2000
+
+# 2000
+
-## 2000/dlowe
+
+## 2000/dlowe
+
### STATUS: known bug - please help us fix
@@ -1910,7 +2022,9 @@ of 92 warnings! Nonetheless neither works okay and both crash.
-##
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2000/primenum/primenum.c](2000/primenum/primenum.c)
@@ -1936,7 +2050,9 @@ that it'll be worth your two second fix :-) ). If you do fix it please do not
make a pull request.
-## 2000/rince
+
+## 2000/rince
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2000/rince/rince.c](2000/rince/rince.c)
@@ -1947,10 +2063,14 @@ If `DISPLAY` is not set the program will very likely crash, do something strange
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing))! :-) ).
-# 2001
+
+# 2001
+
-## 2001/anonymous
+
+## 2001/anonymous
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/anonymous/anonymous.c](2001/anonymous/anonymous.c)
@@ -1979,7 +2099,9 @@ this program will very likely crash or do something strange like slaughter the
elves of Imladris :-(
-## 2001/bellard
+
+## 2001/bellard
+
### STATUS: INABIAF - please **DO NOT** fix
### STATUS: doesn't work with some platforms - please help us fix
@@ -2043,7 +2165,9 @@ and it can be run by itself for fun in modern systems, which was not possible
before the fixes there.
-## 2001/dgbeards
+
+## 2001/dgbeards
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/dgbeards/dgbeards.c](2001/dgbeards/dgbeards.c)
@@ -2052,7 +2176,9 @@ before the fixes there.
This program deliberately crashes if it loses (which is what it aims to do).
-## 2001/herrmann1
+
+## 2001/herrmann1
+
### STATUS: missing files - please provide them
### Source code: [2001/herrmann1/herrmann1.c](2001/herrmann1/herrmann1.c)
@@ -2072,7 +2198,9 @@ appreciate your help!
If you want to try and fix this (mis)feature, you are welcome to try.
-## 2001/kev
+
+## 2001/kev
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/kev/kev.c](2001/kev/kev.c)
@@ -2097,7 +2225,9 @@ Although it is independent of endianness both systems need the same character
set. In other words both have to be ASCII or EBCDIC - not one of each.
-## 2001/rosten
+
+## 2001/rosten
+
### STATUS: missing files - please provide them
@@ -2108,7 +2238,9 @@ The author stated that there is a cat man page for this program in case one
wanted to install it as a tool but this is missing.
-## 2001/schweikh
+
+## 2001/schweikh
+
### STATUS: INABIAF - please **DO NOT** fix
@@ -2121,7 +2253,9 @@ details and a workaround.
There's also no way to escape meta characters.
-## 2001/westley
+
+## 2001/westley
+
### STATUS: uses gets() - change to fgets() if possible
@@ -2154,7 +2288,9 @@ The author referred to a file `card.gif` but this file is missing. Do you have
it? Please provide it!
-## 2001/williams
+
+## 2001/williams
+
### STATUS: known bug - please help us fix
@@ -2217,20 +2353,28 @@ sleeping in a loop does suggest that it's not stuck only showing those lines and
sleeping.
-# 2002
+
+# 2002
+
There was no IOCCC in 2002.
-# 2003
+
+# 2003
+
There was no IOCCC in 2003.
-# 2004
+
+# 2004
+
-## 2004/gavin
+
+## 2004/gavin
+
### STATUS: compiled executable crashes - please help us fix
### STATUS: doesn't work with some platforms - please help us fix
@@ -2342,7 +2486,9 @@ See [known features in the index.html](2004/gavin/index.html#known-features) for
things that are not bugs but documented (mis)features.
-## 2004/jdalbec
+
+## 2004/jdalbec
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2004/jdalbec/jdalbec.c](2004/jdalbec/jdalbec.c)
@@ -2372,7 +2518,9 @@ The author stated that:
```
-## 2004/sds
+
+## 2004/sds
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2004/sds/sds.c](2004/sds/sds.c)
@@ -2382,10 +2530,14 @@ The generated code will very likely segfault or do something not intended if not
given the right args. See the index.html file for the correct syntax.
-# 2005
+
+# 2005
+
-## 2005/anon
+
+## 2005/anon
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/anon/anon.c](2005/anon/anon.c)
@@ -2402,7 +2554,9 @@ strange. This might also happen if you specify excessively large board
dimensions. Try `100 100 100` for instance and see what happens!
-## 2005/giljade
+
+## 2005/giljade
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/giljade/giljade.c](2005/giljade/giljade.c)
@@ -2414,7 +2568,9 @@ does not exist.
This entry requires that `sed` and `make` are in the path.
-## 2005/mikeash
+
+## 2005/mikeash
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/mikeash/mikeash.c](2005/mikeash/mikeash.c)
@@ -2459,7 +2615,9 @@ Basically, the [LISP][] interpreter is good for some basic math operations, and
for running itself.
-## 2005/mynx
+
+## 2005/mynx
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/mynx/mynx.c](2005/mynx/mynx.c)
@@ -2475,7 +2633,9 @@ out as it won't work on as many websites as it used to including the [IOCCC
website](https://www.ioccc.org) itself.
-## 2005/sykes
+
+## 2005/sykes
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/sykes/sykes.c](2005/sykes/sykes.c)
@@ -2507,10 +2667,14 @@ The
used decimal mode, or any of the "undocumented" instructions.
-# 2006
+
+# 2006
+
-## 2006/birken
+
+## 2006/birken
+
### STATUS: uses gets() - change to fgets() if possible
### Source code: [2006/birken/birken.c](2006/birken/birken.c)
@@ -2527,7 +2691,9 @@ with at least `computer.tofu` input file:
```
-## 2006/borsanyi
+
+## 2006/borsanyi
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2006/borsanyi/borsanyi.c](2006/borsanyi/borsanyi.c)
@@ -2538,7 +2704,9 @@ characters in the regex `a-z_A-Z0-9@.-`. Breaking these constraints will end up
with possibly corrupt GIF files.
-## 2006/monge
+
+## 2006/monge
+
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2006/monge/monge.c](2006/monge/monge.c)
@@ -2564,7 +2732,9 @@ welcome to try and fix it if you wish to!
Incorrect formulas will ungracefully crash the program.
-## 2006/sykes1
+
+## 2006/sykes1
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2006/sykes1/sykes1.c](2006/sykes1/sykes1.c)
@@ -2586,7 +2756,9 @@ The author stated:
```
-## 2006/toledo2
+
+## 2006/toledo2
+
### STATUS: INABIAF - please **DO NOT** fix
@@ -2609,30 +2781,42 @@ You must type in caps (except in strings) and this program is indeed
case-sensitive.
-# 2007
+
+# 2007
+
There was no IOCCC in 2007.
-# 2008
+
+# 2008
+
There was no IOCCC in 2008.
-# 2009
+
+# 2009
+
There was no IOCCC in 2009.
-# 2010
+
+# 2010
+
There was no IOCCC in 2010.
-# 2011
+
+# 2011
+
-## 2011/borsanyi
+
+## 2011/borsanyi
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/borsanyi/borsanyi.c](2011/borsanyi/borsanyi.c)
@@ -2657,7 +2841,9 @@ Rounding errors might cause an omission in the highest bin. There might be empty
bins at the edges.
-## 2011/dlowe
+
+## 2011/dlowe
+
### STATUS: missing or dead link - please provide them
### Source code: [2011/dlowe/dlowe.c](2011/dlowe/dlowe.c)
@@ -2685,7 +2871,9 @@ tends to result in empty output.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 2011/fredriksson
+
+## 2011/fredriksson
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/fredriksson/fredriksson.c](2011/fredriksson/fredriksson.c)
@@ -2697,7 +2885,9 @@ features](2011/fredriksson/index.html#other-features) and [limitations and
remarks](2011/fredriksson/index.html#limitations-and-remarks) instead.
-## 2011/richards
+
+## 2011/richards
+
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2011/richards/richards.c](2011/richards/richards.c)
@@ -2916,7 +3106,9 @@ defined.
Do you have a fix? We welcome it!
-## 2011/vik
+
+## 2011/vik
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/vik/vik.c](2011/vik/vik.c)
@@ -2927,10 +3119,14 @@ program though we note that your computer might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)) :-)
-# 2012
+
+# 2012
+
-## 2012/blakely
+
+## 2012/blakely
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/blakely/blakely.c](2012/blakely/blakely.c)
@@ -2944,7 +3140,9 @@ The author stated:
```
-## 2012/deckmyn
+
+## 2012/deckmyn
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/deckmyn/deckmyn.c](2012/deckmyn/deckmyn.c)
@@ -2985,7 +3183,9 @@ The author stated:
The manual referred to is [here](2012/deckmyn/deckmyn.html).
-## 2012/dlowe
+
+## 2012/dlowe
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/dlowe/dlowe.c](2012/dlowe/dlowe.c)
@@ -3000,7 +3200,9 @@ The author stated:
* Cannot build or run without X11 (or an X11 compatibility layer).
-## 2012/tromp
+
+## 2012/tromp
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/tromp/tromp.c](2012/tromp/tromp.c)
@@ -3026,7 +3228,9 @@ The author stated:
```
-## 2012/vik
+
+## 2012/vik
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/vik/vik.c](2012/vik/vik.c)
@@ -3039,9 +3243,13 @@ might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)) :-)
-# 2013
+
+# 2013
+
-## 2013/cable2
+
+## 2013/cable2
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/cable2/cable2.c](2013/cable2/cable2.c)
@@ -3062,7 +3270,9 @@ antialiasing interferes with color detection in "color" mode.
and endianness conversion would make the source too large for IOCCC rule 2).
-## 2013/dlowe
+
+## 2013/dlowe
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/dlowe/dlowe.c](2013/dlowe/dlowe.c)
@@ -3084,7 +3294,9 @@ The author also stated:
used.
-## 2013/endoh1
+
+## 2013/endoh1
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh1/endoh1.c](2013/endoh1/endoh1.c)
@@ -3108,7 +3320,9 @@ section](2013/endoh1/index.html#spoiler).
--
-## 2013/endoh3
+
+## 2013/endoh3
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh3/endoh3.c](2013/endoh3/endoh3.c)
@@ -3128,7 +3342,9 @@ A workaround is inserting a whitespace: `C2 E2`.
--
-## 2013/endoh4
+
+## 2013/endoh4
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh4/endoh4.c](2013/endoh4/endoh4.c)
@@ -3138,7 +3354,9 @@ Invalid input files will very likely crash the program.
-## 2013/hou
+
+## 2013/hou
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/hou/hou.c](2013/hou/hou.c)
@@ -3148,7 +3366,9 @@ This program will not terminate on its own; you must kill `hou` (but not Qiming
Hou :-) ) yourself. This should not be fixed.
-## 2013/mills
+
+## 2013/mills
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/mills/mills.c](2013/mills/mills.c)
@@ -3162,10 +3382,14 @@ have experience with socket programming :-) ) fix. However as the author pointed
it out as a known limitation it is not a bug but a feature.
-# 2014
+
+# 2014
+
-## 2014/maffiodo1
+
+## 2014/maffiodo1
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2014/maffiodo1/prog.c](2014/maffiodo1/prog.c)
@@ -3198,7 +3422,9 @@ player become bigger, stay away from blocks!
but since it's documented it's considered a feature, not a bug to fix.
-## 2014/maffiodo2
+
+## 2014/maffiodo2
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2014/maffiodo2/prog.c](2014/maffiodo2/prog.c)
@@ -3207,7 +3433,9 @@ but since it's documented it's considered a feature, not a bug to fix.
This program will very likely crash if no arg is given.
-## 2014/vik
+
+## 2014/vik
+
### STATUS: known bug - please help us fix
### Source code: [2014/vik/prog.c](2014/vik/prog.c)
@@ -3259,10 +3487,14 @@ they will properly get:
```
-# 2015
+
+# 2015
+
-## 2015/hou
+
+## 2015/hou
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/hou/prog.c](2015/hou/prog.c)
@@ -3293,7 +3525,9 @@ result. Error messages become garbled, though.
--
-## 2015/mills2
+
+## 2015/mills2
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/mills2/prog.c](2015/mills2/prog.c)
@@ -3305,7 +3539,9 @@ is not compressed data it's likely to crash.
The program depends on little endian systems.
-## 2015/schweikhardt
+
+## 2015/schweikhardt
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/schweikhardt/prog.c](2015/schweikhardt/prog.c)
@@ -3327,20 +3563,28 @@ use `8 * sizeof(typ)` bits per place. It does not work when `CHAR_BIT <= 7`.
--
-# 2016
+
+# 2016
+
There was no IOCCC in 2016.
-# 2017
+
+# 2017
+
There was no IOCCC in 2017.
-# 2018
+
+# 2018
+
-## 2018/algmyr
+
+## 2018/algmyr
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/algmyr/algmyr.c](2018/algmyr/algmyr.c)
@@ -3361,7 +3605,9 @@ loop printing whitespace.
-## 2018/hou
+
+## 2018/hou
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/hou/prog.c](2018/hou/prog.c)
@@ -3383,7 +3629,9 @@ infinitely increase the size of the output file. This can happen if you try
fixing the syntax error in the generated `ioccc.json` file.
-## 2018/mills
+
+## 2018/mills
+
### STATUS: known bug - please help us fix
### Source code: [2018/mills/prog.c](2018/mills/prog.c)
@@ -3420,7 +3668,9 @@ exiting the program or else the next time you run it the file will not exist (or
in the case of compiled code it won't be executable).
-## 2018/vokes
+
+## 2018/vokes
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/vokes/vokes.c](2018/vokes/vokes.c)
@@ -3473,10 +3723,14 @@ The author wrote the following:
this program has nothing to do with a hand.
-# 2019
+
+# 2019
+
-## 2019/adamovsky
+
+## 2019/adamovsky
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/adamovsky/prog.c](2019/adamovsky/prog.c)
@@ -3486,7 +3740,9 @@ Certain input can crash this program. The file
[crash.unl](2019/adamovsky/crash.unl) is an example file.
-## 2019/burton
+
+## 2019/burton
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/burton/prog.c](2019/burton/prog.c)
@@ -3496,7 +3752,9 @@ The author pointed out that some implementations of `wc(1)` show different
values but his implementation matches that of macOS and FreeBSD.
-## 2019/ciura
+
+## 2019/ciura
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/ciura/prog.c](2019/ciura/prog.c)
@@ -3532,7 +3790,9 @@ in the de.sh/de.alt.sh scripts:
# reason that so many words have them.
```
-## 2019/dogon
+
+## 2019/dogon
+
### STATUS: uses gets() - change to fgets() if possible
### Source code: [2019/dogon/prog.c](2019/dogon/prog.c)
@@ -3542,7 +3802,9 @@ The author does not it uses `gets()` and one will get warnings but it would be
ideal if this was not the case.
-## 2019/duble
+
+## 2019/duble
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/duble/prog.c](2019/duble/prog.c)
@@ -3588,7 +3850,9 @@ To delete them you can do:
though one might want to check that the program is not currently running. :-)
-## 2019/endoh
+
+## 2019/endoh
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/endoh/prog.c](2019/endoh/prog.c)
@@ -3598,7 +3862,9 @@ As a backtrace quine this entry is **SUPPOSED to segfault** so this should not b
touched either.
-## 2019/karns
+
+## 2019/karns
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/karns/prog.c](2019/karns/prog.c)
@@ -3624,7 +3890,9 @@ not encountered this myself).
- The program contains some unused code and data.
-## 2019/lynn
+
+## 2019/lynn
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/lynn/prog.c](2019/lynn/prog.c)
@@ -3636,7 +3904,9 @@ remarks in the sections [Syntax](2019/lynn/index.html#syntax) and
[Caveats](2019/lynn/index.html#caveats).
-## 2019/mills
+
+## 2019/mills
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/mills/prog.c](2019/mills/prog.c)
@@ -3664,7 +3934,9 @@ the hard limit with `limit -h stacksize` and set it with
---
-## 2019/poikola
+
+## 2019/poikola
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/poikola/prog.c](2019/poikola/prog.c)
@@ -3675,7 +3947,9 @@ erroneously.
Also, the maximum file size is 1GB.
-## 2019/yang
+
+## 2019/yang
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/yang/prog.c](2019/yang/prog.c)
@@ -3690,10 +3964,14 @@ ignored except line feeds (preserved) and tabs (expanded to 8 spaces).'
-# 2020
+
+# 2020
+
-## 2020/burton
+
+## 2020/burton
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/burton/prog.c](2020/burton/prog.c)
@@ -3707,7 +3985,9 @@ It will also show funny output with more than one arg. This should not be fixed
either. But can you figure out why this happens?
-## 2020/carlini
+
+## 2020/carlini
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/carlini/prog.c](2020/carlini/prog.c)
@@ -3726,7 +4006,9 @@ move.
If you have audible bells enabled the program will beep at every turn.
-## 2020/ferguson1
+
+## 2020/ferguson1
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/ferguson1/prog.c](2020/ferguson1/prog.c)
@@ -3738,7 +4020,9 @@ things that are misinterpreted as bugs. See the
[troubleshooting.html](2020/ferguson1/troubleshooting.html) files for details.
-## 2020/giles
+
+## 2020/giles
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/giles/prog.c](2020/giles/prog.c)
@@ -3749,7 +4033,9 @@ exactly 16 bits per sample, but it allows any sample rate and any number of
audio channels.
-## 2020/otterness
+
+## 2020/otterness
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/otterness/prog.c](2020/otterness/prog.c)
@@ -3775,22 +4061,30 @@ codes](2020/otterness/index.html#program-error-codes) written by the author
which lists some other conditions which should be considered features, not bugs.
-# 2021
+
+# 2021
+
There was no IOCCC in 2021.
-# 2022
+
+# 2022
+
There was no IOCCC in 2022.
-# 2023
+
+# 2023
+
There was no IOCCC in 2023.
-# 2024
+
+# 2024
+
We hope to run the IOCCCMOCK this year, 2024, and hopefully the next IOCCC, but
for now we wish everyone a happy new year!