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
+4
-14
@@ -4,26 +4,13 @@ Laurion Burchall
|
||||
US
|
||||
<https://web.archive.org/web/20070711215750/http://www.netspace.org/users/ldb/>
|
||||
|
||||
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this so it would
|
||||
compile and work with modern compilers. The problem was that `srand()` returns
|
||||
void but it was used in a `||` expression. Thus the comma operator was needed.
|
||||
Cody also changed the entry to use `fgets()` instead of `gets()` to make it safe
|
||||
for lines greater than 231 in length and to prevent a warning at linking or at
|
||||
runtime, the latter of which can be interspersed with output of the program.
|
||||
Note that this now prints a newline after the output but this seems like a
|
||||
worthy compromise for making it safer (fixing it is more problematic than it is
|
||||
worth). In macOS another line of output would be shown anyway namely the warning
|
||||
that it uses gets(). A subtlety about this fix: if a line is greater than 231 in
|
||||
length if the program chooses that line it might print the first 231 characters
|
||||
or it might print (up to) the next 231 characters and so on. Thank you Cody for
|
||||
your assistance!
|
||||
|
||||
|
||||
## To run:
|
||||
|
||||
@@ -44,6 +31,7 @@ printf "The International Obfuscated C Code Contest\n
|
||||
by Laurion Burchall" | ./ldb
|
||||
```
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
Trigraphs are natural obfuscators. Most C-beautifiers become C-uglifiers
|
||||
@@ -52,11 +40,13 @@ because they don't handle them correctly.
|
||||
Can you figure out how it prints a given random line (or if the line is longer
|
||||
than 231 characters, part of that line) from stdin?
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
All input lines must be under 232 characters long. The compiling
|
||||
platform should be ASCII based.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+4
-10
@@ -14,12 +14,14 @@ US
|
||||
make all
|
||||
```
|
||||
|
||||
|
||||
## To run:
|
||||
|
||||
```sh
|
||||
./schnitzi < textfile
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
@@ -27,16 +29,6 @@ make all
|
||||
./schnitzi < /etc/passwd
|
||||
```
|
||||
|
||||
NOTE: the buffer size is very small at 100. It's easy to fix the buffer size but
|
||||
it is not as easy to change it to `fgets()`. [Cody Boone
|
||||
Ferguson](/winners.html#Cody_Boone_Ferguson) gives some hints in the
|
||||
[bugs.md](/bugs.md) file on how this entry works which might be useful in order
|
||||
to get this to use `fgets()` which would prevent a warning at linking or
|
||||
runtime, the latter of which is interspersed with the output of the program. The
|
||||
file [schnitzi.alt.c](schnitzi.alt.c) has this to get anyone started, should
|
||||
they wish to tackle it (Cody might in time). The problem with changing the buffer
|
||||
size is that even when it works the generated output (see judges' remarks below)
|
||||
will not be 100% correct duplication of the program.
|
||||
|
||||
### Alternate code:
|
||||
|
||||
@@ -60,6 +52,7 @@ Compare the output of the program with its source. Sure the output
|
||||
is different, but there is more than meets the `diff`'s eye. Can you
|
||||
find out why?
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
### SPOILER:
|
||||
@@ -111,6 +104,7 @@ needed to pad it put it over the limit -- it nearly filled a 79 by
|
||||
this other version to anyone interested -- contact me by email
|
||||
at schnitzi@east.isx.com.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+3
-15
@@ -6,27 +6,13 @@ Campus Box 216
|
||||
Boulder, CO 80309-0216
|
||||
US
|
||||
|
||||
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed a bug on systems
|
||||
where `EOF != -1`. The problem is that `getc()` and the related functions do not
|
||||
return `-1` on EOF or error but rather `EOF`. However `EOF` is not required to be
|
||||
`-1` but merely an int < 0 and this program assumed that `getc()` will return
|
||||
`-1` on EOF or error, not `EOF`. On systems where `EOF != -1` it could result in
|
||||
an infinite loop (for the same reason one should not use `EOF` for the `getopt()`
|
||||
functions as they return `-1` when all options are parsed (for details on the
|
||||
definition of `EOF` see `7.21 Input/output<stdio.h>` subsection 1 of the
|
||||
standard)). An interesting problem occurred where changing the `-1` to `EOF`
|
||||
caused both `warning: illegal character encoding in string literal` and `error:
|
||||
source file is not valid UTF-8`. But since `EOF` is simply an int < 0 and making
|
||||
the loop condition check that the return value is >= 0 does not cause a
|
||||
compilation error and it functions correctly it will address the systems where
|
||||
`EOF != -1` just as if it checked for `!= EOF`. Thank you Cody for your
|
||||
assistance!
|
||||
|
||||
## To run:
|
||||
|
||||
@@ -34,6 +20,7 @@ assistance!
|
||||
./shapiro &
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
@@ -100,6 +87,7 @@ All of which are harmless (famous last words).
|
||||
This may or may not work on non ASCII systems (I could not find one to
|
||||
test it on.)
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
@@ -7,6 +7,7 @@ St. Paul, MN 55105
|
||||
US
|
||||
<http://www.westley.org>
|
||||
|
||||
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
@@ -18,12 +19,12 @@ where you get messages as compiler errors. Depending on the compiler line you
|
||||
will get different error messages and one compiler line will make you win the
|
||||
game!
|
||||
|
||||
|
||||
## To run:
|
||||
|
||||
There is no running as such. See below.
|
||||
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
But for something more interesting try compiling it with
|
||||
@@ -37,21 +38,20 @@ cc -Describe -Drain westley.c
|
||||
NOTE: your terminal should be set to 80 columns, 8 character tabs, and
|
||||
wraparound.
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
Not all compiler errors are bad.
|
||||
|
||||
For spoilers see the end of the notes from the author below.
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) converted the spoiler
|
||||
compiler options to be compiler commands and added a script
|
||||
[spoiler.sh](spoiler.sh) to automate the spoiler commands provided by the author
|
||||
to make it easier to see the game in action. Thank you Cody! To use:
|
||||
To use:
|
||||
|
||||
```sh
|
||||
./spoiler.sh
|
||||
```
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
This program, in accordance with the rules, compiles into a legal
|
||||
@@ -132,6 +132,7 @@ Note that the game has no real state information; you can type these
|
||||
commands in any order, at any time. Also note that word order is
|
||||
unimportant.
|
||||
|
||||
|
||||
## 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