More updates to bugs.md + related files
Some entries were added to the bugs.md file. As well some README.md files were updated wrt the bugs some of which might have been better in an earlier commit.
This commit is contained in:
1 parent
03467e0594
commit
2ce08b66b4
3 files changed
+29
-18
No files matched your search
@@ -12,7 +12,10 @@ Robbert van Renesse
|
|||||||
|
|
||||||
./mullender
|
./mullender
|
||||||
|
|
||||||
NOTE: This entry is likely to fail and/or dump core on modern computers.
|
> NOTE: If your machine is not a Vax-11 or pdp-11, this program will
|
||||||
|
> not execute correctly. In later years, machine dependent
|
||||||
|
> code was discouraged.
|
||||||
|
|
||||||
|
|
||||||
## Judges' comments:
|
## Judges' comments:
|
||||||
|
|
||||||
@@ -25,10 +28,6 @@ be non machine specific.
|
|||||||
|
|
||||||
This program was selected for the 1987 t-shirt collection.
|
This program was selected for the 1987 t-shirt collection.
|
||||||
|
|
||||||
> NOTE: If your machine is not a Vax-11 or pdp-11, this program will
|
|
||||||
> not execute correctly. In later years, machine dependent
|
|
||||||
> code was discouraged.
|
|
||||||
|
|
||||||
The C startup routine (via crt0.o) transfers control to a location
|
The C startup routine (via crt0.o) transfers control to a location
|
||||||
named main. In this case, main just happens to be in the data area.
|
named main. In this case, main just happens to be in the data area.
|
||||||
The array of shorts, which has been further obfuscated by use of
|
The array of shorts, which has been further obfuscated by use of
|
||||||
|
|||||||
+13
-13
@@ -38,19 +38,19 @@
|
|||||||
clocks can be generated. Three different scripts are
|
clocks can be generated. Three different scripts are
|
||||||
supplied to print out a grandfather clock, a mantle
|
supplied to print out a grandfather clock, a mantle
|
||||||
clock that runs backwards, and a linear-style clock.
|
clock that runs backwards, and a linear-style clock.
|
||||||
(they are clock1, clock2, and clock3)
|
(they are `clock1`, `clock2`, and `clock3`)
|
||||||
|
|
||||||
The program makes the following (possibly non-portable) assumptions:
|
The program makes the following (possibly non-portable) assumptions:
|
||||||
|
|
||||||
1) Command line strings can be written to
|
1. Command line strings can be written to
|
||||||
|
|
||||||
2) argv[0] can be written to as if it were a long *
|
2. `argv[0]` can be written to as if it were a `long *`
|
||||||
|
|
||||||
3) The first three elements of the struct * returned by
|
3. The first three elements of the struct * returned by localtime() are seconds,
|
||||||
localtime() are seconds, minutes, hours, and all are ints
|
minutes, hours, and all are ints
|
||||||
|
|
||||||
4) My sample scripts assume ASCII, though this is not
|
4. My sample scripts assume ASCII, though this is not inherent in the code, just
|
||||||
inherent in the code, just my sample scripts
|
my sample scripts
|
||||||
|
|
||||||
These assumptions are pretty reasonable. 2) can be eliminated
|
These assumptions are pretty reasonable. 2) can be eliminated
|
||||||
by makes the code larger.
|
by makes the code larger.
|
||||||
@@ -60,8 +60,8 @@
|
|||||||
prog minute_map hour_map hand_symbol clock_image
|
prog minute_map hour_map hand_symbol clock_image
|
||||||
|
|
||||||
The program merely takes the minute (0-59) and the hour (0-23)
|
The program merely takes the minute (0-59) and the hour (0-23)
|
||||||
values, looks up the offsets in minute_map and hour_map
|
values, looks up the offsets in `minute_map` and `hour_map`
|
||||||
and writes the hand_symbol for each into the clock_image
|
and writes the `hand_symbol` for each into the `clock_image`
|
||||||
string. This string is then printed.
|
string. This string is then printed.
|
||||||
|
|
||||||
The for() loop starts by calling time() with argv[0], so
|
The for() loop starts by calling time() with argv[0], so
|
||||||
@@ -73,12 +73,12 @@
|
|||||||
The statement of the for() loop takes the hour or minute
|
The statement of the for() loop takes the hour or minute
|
||||||
field of the struct returned by localtime() by casting it
|
field of the struct returned by localtime() by casting it
|
||||||
to an int* and dereferencing element [h]. It is slightly
|
to an int* and dereferencing element [h]. It is slightly
|
||||||
smaller to use the trick h[(int*)localtime(*m)] instead of
|
smaller to use the trick `h[(int*)localtime(*m)]` instead of
|
||||||
((int*)localtime(*m))[h].
|
`((int*)localtime(*m))[h]`.
|
||||||
|
|
||||||
This value is in turn indexed into the hour_map or minute_map
|
This value is in turn indexed into the `hour_map` or `minute_map`
|
||||||
parameter to determine where the 'hand' symbol should be
|
parameter to determine where the 'hand' symbol should be
|
||||||
written into the clock_image.
|
written into the `clock_image`.
|
||||||
|
|
||||||
Note that the hands move in a quantum fashion; 3:59 looks
|
Note that the hands move in a quantum fashion; 3:59 looks
|
||||||
deceptively like 2:59, since the hour hand will be at the 3
|
deceptively like 2:59, since the hour hand will be at the 3
|
||||||
|
|||||||
@@ -87,6 +87,18 @@ but are noteworthy nonetheless.
|
|||||||
This entry is likely to fail and/or dump core on any computer other than a
|
This entry is likely to fail and/or dump core on any computer other than a
|
||||||
Vax-11 or pdp-11. In 1984 machine dependent code was allowed.
|
Vax-11 or pdp-11. In 1984 machine dependent code was allowed.
|
||||||
|
|
||||||
|
### [1986/august](1986/august/august.c) ([README.md](1986/august/README.md))
|
||||||
|
|
||||||
|
This entry is known to segfault after printing its output. It was documented by
|
||||||
|
the judges and needn't be fixed.
|
||||||
|
|
||||||
|
### [1996/westley](1996/westley/westley.c) ([README.md](1996/westley/README.md))
|
||||||
|
|
||||||
|
This entry will possibly segfault even when showing the proper output in the
|
||||||
|
`clock1`, `clock2` and `clock3` scripts. Though this doesn't need to be fixed as
|
||||||
|
long as it works right it wouldn't hurt to fix it either.
|
||||||
|
|
||||||
|
|
||||||
### [2019/endoh](2019/endoh/prog.c) ([README.md](2019/endoh/README.md))
|
### [2019/endoh](2019/endoh/prog.c) ([README.md](2019/endoh/README.md))
|
||||||
|
|
||||||
As a backtrace quine this entry is SUPPOSED to segfault so this should not be
|
As a backtrace quine this entry is SUPPOSED to segfault so this should not be
|
||||||
|
|||||||
Reference in new issue
Block a user