From e4dbd8e6e2ca2d6cd1b672c8cd9ab1429096a06b Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 28 Feb 2023 06:11:42 -0800 Subject: [PATCH] Make all 1985 entries compile under linux Unfortunately some entries will either not compile under macOS or not run correctly. We used a patch from Yusuke Endoh for 1985/applin/applin.c. Thank you Yusuke! This is actually the entry that does not work right under macOS but it does under linux. Update main README.md with links. Update a number of other README.md files with typos and other fixes and improvements (including fixing invocations and adding a 'Try:' section to match later year README files). Update various Makefiles to add notes and to make some entries compile (in some cases, those that require -traditional-cpp, they will not compile under clang and we note this). Update archive/archive-1985.tar.bz2. Why? Because the purpose of the archive/ files are for the original files and some of the files in there were not original. See the files 1985/lycklama/lycklama.orig.c and 1985/shapiro/shapiro.orig.c which in the tarball do not have the .orig added to the name. --- 1985/README.md | 10 +++++----- 1985/applin/Makefile | 1 + 1985/applin/README.md | 14 +++++++++++++- 1985/applin/applin.c | 2 +- 1985/august/README.md | 7 +++++++ 1985/lycklama/README.md | 23 +++++++++++++++++------ 1985/lycklama/lycklama.orig.c | 17 +++++++++++++++++ 1985/shapiro/README.md | 17 +++++++++++------ 1985/shapiro/shapiro.orig.c | 3 +++ 1985/sicherman/Makefile | 5 +++-- 1985/sicherman/README.md | 2 +- archive/archive-1985.tar.bz2 | Bin 4466 -> 4501 bytes 12 files changed, 79 insertions(+), 22 deletions(-) create mode 100644 1985/lycklama/lycklama.orig.c create mode 100644 1985/shapiro/shapiro.orig.c diff --git a/1985/README.md b/1985/README.md index 237056b75..ab3c136d2 100644 --- a/1985/README.md +++ b/1985/README.md @@ -6,11 +6,11 @@ on how to compile the winner and how to run the winning program. Look at the winning source and try to figure how it does what it does! You may then wish to look at the Author's comments for even more details. -Hints against machine dependent code were added to the rules to avoid -another 1984 style winner. Rules and results were posted to net.lang.c -and net.unix-wizards. Larry Bassel was invited to help in the -judging. Awards were given to 5 classes of programs since we were -unable to select only the best 4. +Hints against machine dependent code were added to the [rules](rules.txt) to +avoid another 1984 style winner ([1984/mullender](../1984/mullender)). Rules and +results were posted to net.lang.c and net.unix-wizards. Larry Bassel was +invited to help in the judging. Awards were given to 5 classes of programs +since we were unable to select only the best 4. =-= diff --git a/1985/applin/Makefile b/1985/applin/Makefile index 8188eb83d..c4566c956 100644 --- a/1985/applin/Makefile +++ b/1985/applin/Makefile @@ -192,6 +192,7 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "NOTE: this does not work properly in macOS." ${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1985/applin/README.md b/1985/applin/README.md index 2caa53403..1d03d457b 100644 --- a/1985/applin/README.md +++ b/1985/applin/README.md @@ -1,4 +1,4 @@ -# Best one liner +# Best one liner Jack Applin [with help from Robert Heckendorn] @@ -6,11 +6,23 @@ Jack Applin [with help from Robert Heckendorn] make all +## Try: + + + ./applin + + +NOTE: Yusuke Endoh provided a patch to get this to not issue a bus error. Thank +you Yusuke! We note that this entry does not work under macOS. Try it out and +see for yourself what happens! + + ## Judges' comments: One liner programs are short but twisted. This "Hello, World" version certainly takes its time saying hello. + Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety diff --git a/1985/applin/applin.c b/1985/applin/applin.c index 3a376f1ab..fcd844bb5 100644 --- a/1985/applin/applin.c +++ b/1985/applin/applin.c @@ -1 +1 @@ -main(v,c)char**c;{for(v[c++]="Hello, world!\n)";(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));**c=!c)write(!!*c,*c,!!**c);} +main(v,c)char**c;{for(v[c++]=strdup("Hello, world!\n");(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));**c=!c)write(!!*c,*c,!!**c);} diff --git a/1985/august/README.md b/1985/august/README.md index dcb903bf7..f88e6bded 100644 --- a/1985/august/README.md +++ b/1985/august/README.md @@ -7,6 +7,13 @@ Lennart Augustsson make all + +## Try: + + + ./august + + ## Judges' comments: An interesting use of a recursive call to main. Compile and execute diff --git a/1985/lycklama/README.md b/1985/lycklama/README.md index 8c016d501..79668074f 100644 --- a/1985/lycklama/README.md +++ b/1985/lycklama/README.md @@ -8,16 +8,27 @@ Ed Lycklama NOTE: This entry uses non-standard args to main() that do not work with modern compilers. -## Judges' comments: -Run the program, redirecting a file into it, and notice how it redisplays it. -For instance try: +## Try: + ./lycklama < lycklama.c -The program itself looks like tty noise. In the past 'define' in `#define` could -even be defined but to get this to work on modern systems we had to change the -`#o` lines to `#define`. + # notice the difference between the above and this one: + ./lycklama < lycklama.orig.c + + ./lycklama < README.md + + ./lycklama < Makefile + + +## Judges' comments: + +Run the program, redirecting a file into it, and notice how it redisplays it. +The program itself looks like tty noise. + +In the past 'define' in `#define` could even be defined but to get this to work +on modern systems we had to change the `#o` lines to `#define`. Copyright (c) 1985, Landon Curt Noll & Larry Bassel. diff --git a/1985/lycklama/lycklama.orig.c b/1985/lycklama/lycklama.orig.c new file mode 100644 index 000000000..d7a3776fd --- /dev/null +++ b/1985/lycklama/lycklama.orig.c @@ -0,0 +1,17 @@ +#define o define +#o ___o write +#o ooo (unsigned) +#o o_o_ 1 +#o _o_ char +#o _oo goto +#o _oo_ read +#o o_o for +#o o_ main +#o o__ if +#o oo_ 0 +#o _o(_,__,___)(void)___o(_,__,ooo(___)) +#o __o (o_o_<<((o_o_<<(o_o_<=b;){c=M[g=i];i=e;for(s=f=0; s<4;s++)if((k=m[s]+g)>=0&&k=16!=M[k]>=16))a[f++ ]=s;if(f){f=M[e=m[s=a[rand()/(1+2147483647/f)]]+g];j=jb++?b[-1]:e;}P(" ");for(s=C;--s;P("_"))P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2);} diff --git a/1985/sicherman/Makefile b/1985/sicherman/Makefile index f97550017..2f8ca79e0 100644 --- a/1985/sicherman/Makefile +++ b/1985/sicherman/Makefile @@ -102,7 +102,7 @@ ARCH= # Defines that are needed to compile # -CDEFINE= +CDEFINE= -traditional-cpp #CDEFINE= -DIOCCC # Include files that are needed to compile @@ -192,7 +192,8 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c - @echo "NOTE: This entry requires a non-standard K&R C compiler to compile." + @echo "NOTE: This entry will not compile when using clang because it does not support" + @echo " -traditional-cpp but it should compile with gcc." ${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1985/sicherman/README.md b/1985/sicherman/README.md index 345ab5380..bfcc2a137 100644 --- a/1985/sicherman/README.md +++ b/1985/sicherman/README.md @@ -26,7 +26,7 @@ on a line. Now enter the letters 'n' thru 'z'. But to borrow a quote from Richard Stallman: If you think you understand what this code does, then you don't, so read it again! Explain why: - sicherman < sicherman.c | sicherman | diff - sicherman.c + ./sicherman < sicherman.c | ./sicherman | diff - ./sicherman.c results in diff reporting a difference on some machines. diff --git a/archive/archive-1985.tar.bz2 b/archive/archive-1985.tar.bz2 index 6c181285eaf882dd27075d07b2c911b68db55028..f620b301bdc6d7c2ab71b979326baed810bea874 100644 GIT binary patch literal 4501 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 n8ojU%^oc!KF6mDTkbxy|X^-LHpi90El1` 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