Merge pull request #247 from xexyl/1988-isaak

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-04-01 14:18:20 -07:00
commit 768c21b187
3 files changed
+19 -17

No files matched your search

+18 -7
View File
@@ -15,10 +15,14 @@
./isaak ./isaak
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this to work for
modern systems. The problem was that the important function, a redefinition of
exit(), was not being called in main(). See below notes for the original,
alternative version. Thank you Cody for your assistance!
### Alternate code: ### Alternate code:
An alternate version of this entry, `isaak.alt.c`. The original version of this code is in [isaak.alt.c](isaak.alt.c).
The original entry starts with the line: The original entry starts with the line:
main(){}; main(){};
@@ -26,7 +30,12 @@ The original entry starts with the line:
This works on some systems. Why? Note that `#include <stdio.h>` is given on This works on some systems. Why? Note that `#include <stdio.h>` is given on
the last line. Why is this needed? Note the unusual calls to sprintf. the last line. Why is this needed? Note the unusual calls to sprintf.
## Judges' comments This version also relied on being able to define define to something else and
using that macro for `#define`. This version will not likely work on modern
systems if you can even get it to compile.
## Judges' comments:
NOTE: The program relies heavily on ASCII. Don't even think of running it on NOTE: The program relies heavily on ASCII. Don't even think of running it on
an EBCDIC machine. If you name the file anything other than "isaak.c", you must an EBCDIC machine. If you name the file anything other than "isaak.c", you must
@@ -36,15 +45,17 @@ NOTE: The use of null comments to separate macros to construct different tokens
from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining
`O` to be `+` or `-`) may cause some strict ANSI C preprocessors to object. `O` to be `+` or `-`) may cause some strict ANSI C preprocessors to object.
NOTE: Most System V machines will not be able to execute this program correctly NOTE: Most System V machines were not be able to execute this program correctly
due to the fact that BSD style systems have an sprintf() that returns a `char *`. due to the fact that BSD style systems have an sprintf() that returns a `char *`.
Due to the above problems, we placed the output of this program in the file:
Due to the above problems, we have placed the output of this program isaak.encode. To read this file do:
in the file: isaak.encode. To read this file do:
uudecode < isaak.encode uudecode < isaak.encode
cat isaak.output cat isaak.output
But since Cody fixed it this is not strictly necessary. See the
[isaak.alt.c](isaak.alt.c) for the original source.
FYI: We are likely to be more strict about portability in the future. FYI: We are likely to be more strict about portability in the future.
## Copyright and CC BY-SA 4.0 License: ## Copyright and CC BY-SA 4.0 License:
+1 -1
View File
@@ -1,4 +1,4 @@
main(){} main(){exit(0);}
#define U #define U
#define main Si #define main Si
#if U defined(y) #if U defined(y)
-9
View File
@@ -357,15 +357,6 @@ This entry needs a compiler that support `-traditional-cpp`. `gcc`
supports this but `clang` does not. Please be advised that `gcc` under macOS is supports this but `clang` does not. Please be advised that `gcc` under macOS is
actually gcc if it looks like it's gcc (two different binaries). actually gcc if it looks like it's gcc (two different binaries).
## [1988/isaak/isaak.com) ([README.md](1988/isaak/README.md))
## STATUS: known bug - please help us fix
This currently prints nothing. [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) is working on this along with other
things and there is a known fix even besides if he decides his time would be
better spent on something else here or in that elusive thing called 'real life'.
# 1989 # 1989