Merge pull request #943 from xexyl/1992-kivinen
This commit is contained in:
5 files changed
+38
-13
No files matched your search
@@ -10,14 +10,14 @@ make all
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
NOTE: this entry uses gets() so you might get a warning about this when
|
NOTE: this entry uses `gets()` so you might get a warning about this when
|
||||||
compiling and running this program with some systems.
|
compiling and running this program with some systems.
|
||||||
|
|
||||||
## To run:
|
## To run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./hague
|
./hague
|
||||||
# enter some text
|
# enter some text
|
||||||
```
|
```
|
||||||
|
|
||||||
## Try:
|
## Try:
|
||||||
|
|||||||
+3
-2
@@ -18,8 +18,9 @@ make all
|
|||||||
### Alternative code:
|
### Alternative code:
|
||||||
|
|
||||||
If you have an old compiler or a compiler that supports `-traditional-cpp` you
|
If you have an old compiler or a compiler that supports `-traditional-cpp` you
|
||||||
might enjoy looking at the original source (after patch by Yusuke applied) in
|
might enjoy looking at the original source in [wall.alt.c](wall.alt.c).
|
||||||
[wall.alt.c](wall.alt.c). To build:
|
|
||||||
|
#### To build:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# if you have an old enough compiler:
|
# if you have an old enough compiler:
|
||||||
|
|||||||
@@ -34,6 +34,11 @@ entry.
|
|||||||
|
|
||||||
See also the author's remarks for other variations.
|
See also the author's remarks for other variations.
|
||||||
|
|
||||||
|
### INABIAF - it's not a bug it's a feature! :-)
|
||||||
|
|
||||||
|
In modern systems a known issue is that when you start the game everything
|
||||||
|
starts to move to the right of the game window but if you click on the window it
|
||||||
|
moves back to where it should be.
|
||||||
|
|
||||||
## Judges' remarks:
|
## Judges' remarks:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -16,6 +16,6 @@ to our submission portal.
|
|||||||
will select the [winning entries](https://www.ioccc.org/years.html) announce them
|
will select the [winning entries](https://www.ioccc.org/years.html) announce them
|
||||||
on the [@IOCCC mastodon feed](https://fosstodon.org/@ioccc), notify the winners
|
on the [@IOCCC mastodon feed](https://fosstodon.org/@ioccc), notify the winners
|
||||||
via email using their previously registered email address, and upload the
|
via email using their previously registered email address, and upload the
|
||||||
winning code to the [winner repo](https://github.com/ioccc-src/winner) repo
|
winning code to the [winner repo](https://github.com/ioccc-src/winner)
|
||||||
which in turn will cause them to be displayed on the [IOCCC winning entries
|
which in turn will cause them to be displayed on the [IOCCC winning entries
|
||||||
page](https://www.ioccc.org/years.html).
|
page](https://www.ioccc.org/years.html).
|
||||||
+26
-7
@@ -11,7 +11,8 @@ several thousand changes and important improvements.
|
|||||||
We call out the extensive contributions of [Cody Boone
|
We call out the extensive contributions of [Cody Boone
|
||||||
Ferguson](/winners.html#Cody_Boone_Ferguson) who is responsible for many of the
|
Ferguson](/winners.html#Cody_Boone_Ferguson) who is responsible for many of the
|
||||||
improvements including many, many complicated bug fixes like
|
improvements including many, many complicated bug fixes like
|
||||||
[2001/anonymous](2001/anonymous/anonymous.c), making entries not require
|
[2001/anonymous](2001/anonymous/anonymous.c) and
|
||||||
|
[2004/burley](2004/burley/burley.c), making entries not require
|
||||||
`-traditional-cpp`, fixing entries to compile with clang, providing alternate
|
`-traditional-cpp`, fixing entries to compile with clang, providing alternate
|
||||||
code where useful or necessary, fixing where possible dead links and otherwise
|
code where useful or necessary, fixing where possible dead links and otherwise
|
||||||
removing them, typo and consistency fixes. Thank you **very much** for your
|
removing them, typo and consistency fixes. Thank you **very much** for your
|
||||||
@@ -1056,12 +1057,30 @@ Dvorak typists are invited to get lost (or use the original version)! :-)
|
|||||||
|
|
||||||
## [2004/burley](2004/burley/burley.c) ([README.md](2004/burley/README.md]))
|
## [2004/burley](2004/burley/burley.c) ([README.md](2004/burley/README.md]))
|
||||||
|
|
||||||
Cody fixed this to compile with clang and also fixed it to work. A problem was
|
Cody fixed this to compile with clang and also fixed it to work.
|
||||||
that `longjmp()` was being used with one arg which compiled because `setjmp.h`
|
|
||||||
was not included. Another part of the `setjmp()`/`longjmp()` situation was that
|
For clang the problem was that `main()` had one arg, a `char *` and this is not
|
||||||
instead of `jmp_buf` the array `p` was of `int`. Finally the optimiser cannot be
|
allowed in any version of clang. To get it to work took numerous changes.
|
||||||
enabled. As for clang it is because of the defect where the first arg must be an
|
|
||||||
int and the rest must be a `char **`.
|
First the inclusion of `setjmp.h` was necessary. Without this `longjmp()`
|
||||||
|
implicitly returned int which was used for the purpose of binary expression but
|
||||||
|
this no longer worked.
|
||||||
|
|
||||||
|
But by including `setjmp.h` it naturally made the binary expressions invalid (as
|
||||||
|
it returns void which no longer is allowed in binary expressions) so the comma
|
||||||
|
operator with `0` (`,0`) had to be used (`,1` was tried first but this did not
|
||||||
|
work right).
|
||||||
|
|
||||||
|
`longjmp()` was being called with one arg which was an element
|
||||||
|
of an `int[4][1000]` which had to be changed to a `jmp_buf p[4]` (this due to
|
||||||
|
the prototype being included).
|
||||||
|
|
||||||
|
`main()` also called itself but this was a problem so it now calls another
|
||||||
|
function `poke()` which calls itself instead (this is sometimes necessary
|
||||||
|
nowadays).
|
||||||
|
|
||||||
|
Finally the optimiser cannot be disabled so the compiler flags were changed for
|
||||||
|
this.
|
||||||
|
|
||||||
|
|
||||||
## [2004/gavin](2004/gavin/gavin.c) ([README.md](2004/gavin/README.md]))
|
## [2004/gavin](2004/gavin/gavin.c) ([README.md](2004/gavin/README.md]))
|
||||||
|
|||||||
Reference in new issue
Block a user