Minor fixes (typos, other things) in thanks file

This commit is contained in:
Cody Boone Ferguson committed 2023-11-12 02:56:58 -08:00
1 parent 93f90b373f
commit 504483bf41
1 file changed
+28 -24
+28 -24
View File
@@ -1391,15 +1391,16 @@ should have been removed.
## [1992/adrian](1992/adrian/adrian.c) ([README.md](1992/adrian/README.md]))
Cody fixed the code so that it will try opening the file the code was compiled
from (`__FILE__`), not `adgrep.c`, as
the latter does not exist: `adgrep` is simply a link to `adrian` as `adgrep` is
what the program was submitted as but the winner is `adrian.c`.
from (`__FILE__`), not `adgrep.c`, as the latter does not exist: `adgrep` is
simply a link to `adrian` as `adgrep` is what the program was submitted as but
the winner is `adrian.c`.
Not fixing this would cause the program to crash if no arg was specified as the
file did not exist. In doing this, at first the change to check for a NULL file
was added. Then it was noticed that the problem is that `adgrep.c` was an
incorrect reference that was never fixed in any of the files, not the code or
the documentation. A fun fact is that one can do:
Not fixing the above problem would have also cause the program to crash if no
arg was specified as the file doesn't exist. In making the above fix, at first
the change to check for a `NULL` file was added. Then it was noticed that the
problem is that `adgrep.c` was an incorrect reference that never existed and it
was never fixed in any of the files, not the code or the documentation, and thus
was entirely incorrect code. A fun fact is that one can do:
```c
W= fopen(wc>= 2 ? V[1] : __FILE__,"rt");if(!W)exit(1);
@@ -1423,24 +1424,24 @@ Cody also restored a slightly more obscure line of code that had been changed:
+ putc(i["}|uutsrq`_^bji`[Zkediml[PO]a_M__]ISOYIRGTNR"]+i-9,stderr);
```
though it's questionable how much more (if at all) obscure that is.
though it's questionable how much more (if at all) obscure that is :-)
Cody also changed the location that it used `gets()` to be `fgets()` instead to
make it safer and to prevent annoying warnings during compiling, linking or
runtime (interspersed with the program's output). This was complicated because
of how the other source files are generated, as noted above; simply changing the
code could cause invalid output in the program which made other files fail to
compile (for this example specifically, see below).
of how the other source files are generated (as above); simply changing the code
could cause invalid output in the program which made other files fail to compile
(for this example specifically, see below).
One might think that simply changing the `gets()` to `fgets()` (with `stdin`)
would work but it did not because `fgets()` stores the newline and `gets()` does
not. That is well known but this code was relying on not having this newline
(see also above).
not. That is well known but this code was relying on not having this newline in
a different way (see also above).
With `fgets()` the code `if(A(Y)) puts(Y);` ended up printing an extra line
which made the generation of some files (like `adhead.c`) fail to compile. Why?
There was a blank line after a `\` at the end of the first line of a macro
definition! Thus the code now first trims off the last character of the buffer
There was a blank line after a `\` at the end of the first line of a _macro
definition_! Thus the code now first trims off the last character of the buffer
read to get the same correct functionality but in a safe and non obnoxious way.
Later Cody improved the change to `fgets()` to make it slightly more like the
@@ -1467,9 +1468,10 @@ the additional tools.
Cody fixed this to compile with modern systems. Note that in 1996 a bug fix was
applied to the code, provided as the alt code as that version is not obfuscated.
Thus Cody's fixed applies to the original entry. The problems were that
`malloc.h` is not the correct header file now and a non-void (implicit int)
function returning without a value. The function was changed to return void.
Thus Cody's fix applies to the original entry. The problems were that `malloc.h`
is not the correct header file now (at least in some systems?) and a non-void
(implicit int) function returning without a value. That function was changed to
return void.
## [1992/ant](1992/ant/ant.c) ([README.md](1992/ant/README.md]))
@@ -1495,7 +1497,8 @@ necessary to include `time.h` so Cody did this as well.
Cody added a check for the right number of args, exiting 1 if not enough (2)
used. This was not originally done but at a time it was changed to be considered
a bug so it was fixed at that point as it only took a few seconds.
a bug so it was fixed at that point as it only took a few seconds and had to be
verified that it was consistent with the [bugs.md](/bugs.md) file.
He also added the [try.sh](1991/buzzard.1/try.sh) script to try out some
commands that we suggested and some additional ones that provide for some fun.
@@ -1522,14 +1525,15 @@ loop).
Cody also added the [mkdict.sh](1992/gson/mkdict.sh) script that the author
included in their remarks. See the README.md for its purpose. It was NOT fixed
for ShellCheck because the author deliberately obfuscated it.
for ShellCheck because the author deliberately obfuscated it so **PLEASE DO NOT
FIX THIS**.
## [1992/imc](1992/imc/imc.c) ([README.md](1992/imc/README.md]))
The original code, [imc.orig.c](1992/imc/imc.orig.c), assumed that `exit(3)`
returned a value but this will cause problems where `exit(3)` returns void. The
source code was modified to avoid this problem but like Cody did with otherfixes
source code was modified to avoid this problem but like Cody did with other fixes
he made this more like the original by redefining `exit` to use the comma
operator so that it could be used in binary expressions.
@@ -1537,8 +1541,8 @@ operator so that it could be used in binary expressions.
## [1992/kivinen](1992/kivinen/kivinen.c) ([README.md](1992/kivinen/README.md]))
It was observed that on modern systems this goes much too quick. Yusuke created
a patch that calls `usleep()` but Cody thought the value was too slow so he made
it a macro in the Makefile `Z`, defaulting at 15000. You can reconfigure it
a patch that calls `usleep(3)` but Cody thought the value was too slow so he
made it a macro in the Makefile `Z`, defaulting at 15000. You can reconfigure it
like:
```sh