More improvements / updates to bugs.md

New sections and statuses.

Added some entries. I am going through all entries to find more to add
but I ended up fixing an entry which I wish to commit so the next
updates to this file will be on a different branch and most likely later
on today.
This commit is contained in:
Cody Boone Ferguson committed 2023-03-27 07:24:39 -07:00
1 parent 69f76e5404
commit dc0ca04feb
1 file changed
+106 -2
+106 -2
View File
@@ -43,6 +43,20 @@ of the remaining entries resolved in the near future but nevertheless if you're
okay making people very sad you may have a go at the entries :-) He'll remove
this part later on.
### ON **ALL** FIXES / IMPROVEMENTS / CHANGES
Make **ABSOLUTE CERTAIN** that you test the entry _BEFORE_ **AND** _AFTER_ your
changes! This includes output and the same input functionality! Sometimes it
might seem to be fine but is actually not! We will note some where this is known
to happen (if it's not yet fixed).
Make **ABSOLUTE CERTAIN** that you read the README.md file _BEFORE_ your changes
as it's important to see that the code is doing what it is supposed to. In the
case that it's not obvious (some README.md files do not even have commands to
try or even explain how to use it!) then you should either skip the entry OR ask
someone who will now e.g. us.
### Request for one-liners:
For one-liners please keep the file one line if at all possible! If it needs an
@@ -65,6 +79,15 @@ entry will not work for certain platforms, some of which might or might not be
fixable. But even if they are fixable (which will likely be hard to do) it's
almost certain that such code would be just as non-portable (importable ? :-) ).
### On layout of program source
If you make changes PLEASE TRY and keep the source code layout as close to the
original as possible. This might not always be possible and if you have an
editor that does formatting it can cause problems. Sometimes formatters can even
break code! [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) has
experienced this many times so he tends to disable all format options when
formatting code.
## STATUS: INABIAF - please **DO NOT** fix
@@ -87,7 +110,7 @@ any problems.
## STATUS: doesn't work with some platforms - please help us fix
Entries with this status do not work under some OS's and/or architectures (and/or
Entries with this status do not work under some OSes and/or architectures (and/or
something else?). Please help us to fix it!
## STATUS: main() function args not allowed - please help us fix
@@ -134,10 +157,48 @@ compiler supporting you are welcome to summit such code via a
[GitHub pull request](https://github.com/ioccc-src/temp-test-ioccc/pulls) and we
will be happy to credit you in the entry's _README.md_ file.
## STATUS: uses gets() - change to fgets() if possible
Entries with this status use `gets()` which is unsafe because it has no limit on
the length of the string. [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) has fixed several of these and he's
working on others in between fixing other things. He provides some important
notes:
First: in some cases changing the entry to use `fgets()` will break the entry
and in some cases cause it to crash. Where this is known we will document it.
Some of these Cody is also working on.
Second: you MUST check the output before and after to make sure that it remains
the same. Sometimes the output might not be immediately obviously wrong but is.
We will document known examples.
Third: `gets()` does NOT STORE the `'\n'` but `fgets()` DOES! This is one of the
reasons some of the entries break when changed to `fgets()`. Cody has fixed some
of these but there are others he hasn't had time to address and/or even discover
yet.
Fourth: just because you don't see the string `gets` in the code does not mean
it's not used. It is after all the Obfuscated C Code Contest! :-) Sometimes it
will be in the Makefile and other times it will be obfuscated in other ways.
Compilers and linkers tend to warn about its use and this is a good way to find
entries that use it even if it's not visible in the code.
# List of entries by year, sorted in alphabetical order
# 1984
## [1984/anonymous](1984/anonymous/anonymous.c) ([README.md](1984/anonymous/README.md))
## STATUS: doesn't work with some platforms - please help us fix
Although this works under linux it does not work under macOS: it prints nothing,
exiting 0.
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) added some notes about
this in the [README.md](1984/anonymous/README.md) file. Can you fix this? We
welcome your help!
## [1984/decot](1984/decot/decot.c) ([README.md](1984/decot/README.md))
## STATUS: requires a compiler supporting `-traditional-cpp` - alternate code requested
@@ -150,6 +211,7 @@ If you do wish to provide an alternate version of the program that does not need
compiler supporting `-traditional-cpp` you are welcome to submit such code via a [GitHub pull request](https://github.com/ioccc-src/temp-test-ioccc/pulls) and we will be happy to credit you in the entry's _README.md_ file.
## [1984/mullender](1984/mullender/mullender.c) ([README.md](1984/mullender/README.md))
## STATUS: compiled executable crashes - please help us fix
## STATUS: doesn't work with some platforms - please help us fix
@@ -166,6 +228,16 @@ update the Makefile to have an alt target!
# 1985
## [1985/applin](1985/applin/applin.c) ([README.md](1985/applin/README.md)
## STATUS: doesn't work with some platforms - please help us fix
[Yusuke Endoh](/winners.html#Yusuke_Endoh) provided a fix for gcc but
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) observed that this does
not work under macOS. It prints `H????????` with additional `?`s printed as it
continues to run.
We have not had a chance to try and fix this yet.
## [1985/sicherman](1985/sicherman/sicherman.c) ([README.md](1985/sicherman/README.md))
## STATUS: Requires a compiler supporting `-traditional-cpp` - alternate code requested
@@ -175,7 +247,7 @@ supports this but `clang` does not. Please be advised that `gcc` under macOS is
actually gcc if it looks like it's gcc (two different binaries).
If you do wish to provide an alternate version of the program that does not need
compiler supportingwe welcome you to summit such code via a
compiler supporting we welcome you to summit such code via a
[GitHub pull request](https://github.com/ioccc-src/temp-test-ioccc/pulls) and we
will be happy to credit you in the entry's _README.md_ file.
@@ -190,6 +262,13 @@ will be happy to credit you in the entry's _README.md_ file.
This entry is known to segfault after printing its output. It was documented by
the judges and shouldn't be fixed.
## [1986/hague](1986/hague/hague.c) ([README.md](1986/hague/README.md))
## STATUS: uses gets() - change to fgets() if possible
This entry uses `gets()` which is unsafe. In particular the buffer size is 81.
`gets()` does not store the `'\n'` but it does store the `'\0'`.
The latter fact
## [1986/holloway](1986/holloway/holloway.c) ([README.md](1986/holloway/README.md))
## STATUS: INABIAF - please **DO NOT** fix
@@ -243,6 +322,22 @@ actually gcc if it looks like it's gcc (two different binaries).
# 1987
## [1987/lievaart](1987/lievaart/lievaart.c) ([README.md](1987/lievaart/README.md))
This might not work right. When [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) runs it he gets something like:
```sh
$ ./lievaart
Level:5
You:2
You:3
You:^C
```
However he also hasn't played Othello or if he has it was a very long time ago,
so maybe he's doing something wrong.
# 1988
@@ -254,6 +349,15 @@ This entry needs a compiler that support `-traditional-cpp`. `gcc`
supports this but `clang` does not. Please be advised that `gcc` under macOS is
actually gcc if it looks like it's gcc (two different binaries).
## [1988/isaak/isaak.com) ([README.md](1988/isaak/README.md))
## STATUS: known bug - please help us fix
This currently prints nothing. [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) is working on this along with other
things and there is a known fix even besides if he decides his time would be
better spent on something else here or in that elusive thing called 'real life'.
# 1989