Merge pull request #50 from xexyl/choo-choo

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-03-13 10:19:20 -07:00
commit c09de89f3d
2 files changed
+13 -8

No files matched your search

+11 -6
View File
@@ -11,20 +11,25 @@ Paoli, PA.
make all make all
NOTE: we could not compile this entry under modern macOS but it will work NOTE: Cody Boone Ferguson got this to compile and work with clang. It did not
fine under linux. It likely fails to compile under macOS because its gcc is work with clang because it is more strict about the second and third args to
actually just clang which is more strict about the type of the second main() and the third arg was an int. He notes that he tried to keep the picture
argument of main(). If you have gcc under macOS it might work just as well. as close to the original. The line lengths are the same but some spaces had to
be changed to non-spaces. Thank you Cody for your help!
# Judges' comments: # Judges' comments:
This program prints the name of the picture. The layout is somewhat This program prints the name of the picture. The layout is somewhat
pretty through it is not the usual sort of output one would expect pretty though it is not the usual sort of output one would expect
from printing a program! from printing a program!
This program was selected for the 1987 t-shirt collection. This program was selected for the 1987 t-shirt collection.
This program is known to give some C compilers a problems.
## Author's comments:
No comments were provided by the author.
Copyright (c) 1986, Landon Curt Noll & Larry Bassel. Copyright (c) 1986, Landon Curt Noll & Larry Bassel.
+2 -2
View File
@@ -3,12 +3,12 @@
;char ;char
grrr grrr
;main( r, ;main( r,
argv, argc ) int argc , argv, argc ) char **argc ,
r ; char *argv[];{int P( ); r ; char *argv[];{int P( );
#define x int i, j,cc[4];printf(" choo choo\n" ) ; #define x int i, j,cc[4];printf(" choo choo\n" ) ;
x ;if (P( ! i ) | cc[ ! j ] x ;if (P( ! i ) | cc[ ! j ]
& P(j )>2 ? j : i ){* argv[i++ +!-i] & P(j )>2 ? j : i ){* argv[i++ +!-i]
; for (i= 0;; i++ ); ; for (i= 0;; i++ );
_exit(argv[argc- 2 / cc[1*argc]|-1<<4 ] ) ;printf("%d",P(""));}} _exit(argv[(int)*argc-2/cc[1*(int)*argc]|-1<<4]);printf("%d",P(""));}}
P ( a ) char a ; { a ; while( a > " B " P ( a ) char a ; { a ; while( a > " B "
/* - by E ricM arsh all- */); } /* - by E ricM arsh all- */); }