move fix thanks a file, update top level html links, rename CONTRIBUTING.md

The fix thank you's have been moved from `README.md` to
`thanks-for-fixes.md`.

**WARNING**: Some mistakes may have been made in doing this.
We presume later changes by others will correct any issues.

The `CONTRIBUTING.md` was renamed `how-to-enter.md`.

A 3rd line of links was added to top level html such as
`contact.html`, `index.html`, `judges.html`, `winners.html`,
and `years.html`.

Improved blank line use in a number (but not all) `README.md` files.
This commit is contained in:
Landon Curt Noll committed 2023-06-06 16:59:53 -07:00
1 parent 23f7ac0a49
commit ac41f07a83
92 files changed
+1326 -761

No files matched your search

+3 -4
View File
@@ -6,13 +6,13 @@ SDRC
Milford, OH 45150
US
## To build:
```sh
make all
```
Modern compilers failed to compile this entry:
```c
@@ -26,9 +26,6 @@ but we were able to get it to compile with modern compilers by specifying the
`-ansi` flag with a tip from [Yusuke Endoh](/winners.html#Yusuke_Endoh). Thank
you Yusuke!
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) pointed out that the
compiler option `-trigraphs` would also have worked.
## To run:
@@ -36,6 +33,7 @@ compiler option `-trigraphs` would also have worked.
./scjones
```
## Judges' remarks:
The addition of trigraphs has made it easier to make programs hard to read. It
@@ -69,6 +67,7 @@ standpoint) character sets. In short, it should be very widely portable. As an
extra added attraction, all of the lines are under 72 characters long, which
would allow for sequence numbers to be punched in columns 73-80 :-).
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+5 -9
View File
@@ -19,17 +19,10 @@ US
make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this to work with
modern compilers; `exit(3)` returns void but the function was used in a binary
expression so this wouldn't even compile. Cody also changed the code to use
`fgets()` instead of `gets()` so one would not get a warning about the use of
`gets()` at linking time or execution, the latter case causing confusing output
due to the warning being interspersed with the program's output. Thank you Cody
for your assistance!
For the original version with `gets()` see the [archive
tarball](/archive/archive-1990.tar.bz2).
## To run:
```sh
@@ -42,6 +35,7 @@ NOTE: globs do not work with this entry. Why?
NOTE: `exit` does not work and neither does `logout`. To exit try sending ctrl-d
or ctrl-c (or kill it from another terminal :-) ).
## Try:
```sh
@@ -57,8 +51,8 @@ vi tbr.c
What happens if you try using `cd -` to return to previous directory? What about
`cd` with no args?
## Judges' remarks:
## Judges' remarks:
This program touches on a well known Unix utility, the 6th edition Bourne Shell
(`/bin/sh`), whose original source was considered to be extremely obfuscated by
@@ -86,6 +80,7 @@ e(x){x<0?write(2,"?\n$ "-x/4,2),x+1||(exit(1),0):5;}
It has the `exit()` returns void fix but not the `gets()` to `fgets()` fix
applied.
## Author's remarks:
### Rot13:
@@ -144,6 +139,7 @@ applied.
Gurer vf whfg bar reebe zrffntr, gur dhrfgvba znex, ohg url, gung'f
nyy rq qbrf gbb.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+3 -18
View File
@@ -13,24 +13,6 @@ US
make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed some bugs that
impacted the usability of this program including some segfaults under modern
systems (and possibly in some cases earlier systems) with this entry.
Originally we noted that the 4 trailing args '0 0 0 0' were required on systems
that dump core when NULL is dereferenced but this problem showed itself in
modern systems even with the 4 '0 0 0 0'. He also fixed a segfault if not enough
args are specified and fixed the code so that the generated `fibonacci.c`
actually works; before it just printed `0` over and over again (since it did not
work anyway a segfault prevention was added here). He also fixed some array
addressing (some of which might not be strictly necessary but as he was testing
the `fibonacci.c` bug he ended up changing it anyway). Finally he changed this
program to use `fgets()` not `gets()` to make it safer and to prevent a warning
about `gets()` at linking or runtime. Thank you Cody for your assistance!
[Yusuke Endoh](/winners.html#Yusuke_Endoh) pointed out that `atof` nowadays
needs `#include <stdlib.h>` which was used in order to get this to work
initially (prior to this the output was incomplete). Thank you Yusuke!
## To run:
@@ -69,6 +51,7 @@ if (a[1]==NULL||a[2]==NULL||a[3]==NULL||a[4]==NULL||a[5]==NULL) return 1;
be changed to just test the value of `A` when `a` is argv and `A` is argc?
## Judges' remarks:
The program's source implements four functions, all from the
@@ -137,6 +120,7 @@ knife](https://en.wikipedia.org/wiki/Swiss_Army_knife) included! :-)
When this program was first shown at the 1990 Summer Usenix conference, it
received a standing ovation; a first for a contest entry.
## Author's remarks:
Differential equations are solved via the Runge-Kutta method, which guarantees
@@ -148,6 +132,7 @@ Sorting is accomplished with a standard shell sort.
Note that the sorting and reversing is limited to files with fewer than 500
lines, each less than 99 characters long.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+4 -8
View File
@@ -7,23 +7,20 @@ St. Paul, MN 55104
US
<http://www.westley.org>
## To build:
```sh
make all
```
## To run:
```sh
./westley number
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this for modern
systems. It had `1s` in places for a short int which was changed to just `1`.
Since it's instructional to see the differences he has provided an alternate
version with the original code. See below. Thank you Cody for your assistance!
NOTE: this program will enter an infinite loop if input is not a number > 0.
### INABIAF - it's not a bug it's a feature :-)
@@ -42,9 +39,7 @@ NOTE: this entry will very likely crash or do something else without an arg.
### Alternate code:
To see how C has changed over the years Cody provided the original source in
[westley.alt.c](westley.alt.c). If you have an old enough compiler try:
If you have an old enough compiler try and to see how C has changed over the years:
```sh
make alt
@@ -91,6 +86,7 @@ on some systems. My personal favorite lint complaint is
Also obviously, `(char)lotte` and `(char*)lie` are incompatible types...
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.