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:
1 parent
23f7ac0a49
commit
ac41f07a83
92 files changed
+1326
-761
No files matched your search
@@ -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
@@ -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
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user