Files
ioccc/1993/vanb/vanb.c
T
Cody Boone Ferguson 19fdd5f944 Make my fix to 1993/vanb more like original
Now it's just a single line difference: main() itself that calls O5()
(which used to be main() via -DO5=main).

This was accomplished by using the -include stdio.h in the Makefile and
then removing (at the top of the file) the int O3. Instead main() (which
used to be O5() as noted and which had three args) has it as a char **.
Now since O3 was at file scope before it was 0 so rather than casting O3
in main() to an int the call to O5() just uses 0 in that place. The
moving the arg to main() is done simply because O5() (which again was
main()) also has 3 args.

Some versions of clang object to four args to main() but they allow 0,
2 or 3 so that's fine.
2023-10-22 13:02:57 -07:00

28 lines
2.0 KiB
C

O5(O2,O7,O3)char**O7;{return!(O2+=~01+01)?00:!(O2-=02>01)?printf("\045\157\012"
,O5(012,O7+01,00)):!(O2-=02>>01)?(**O7<=067&&**O7>057?O5(03,O7,*(*O7)++-060+010
*O3):O3 ):!(O2 -=-O3- ~O3)? (072>**
O7&&060 <=**O7 ?O5(04 ,O7,012 *O3-060
+*(*O7 )++):O3 ):!(O2 -=!O3+ !!O3)?(
**O7>057 &&**O7 <=071? O5(05, O7,*(*
O7)+++ O3*020 -060): **O7<= 0106&&
00101<= **O7?O5 (05,O7 ,020*O3 +*(*O7)
++-067) :0140<** O7&&** O7<0147 ?O5(05,
O7,-0127 +*(*O7 )+++020 *O3):O3 ):!(
O2-=02- 01)?(** O7==050 ?050** ++*O7,
O5(013, O7,O5( 012,O7 ,00)):* *O7<056
&&054<* *O7?055 **++* O7,-O5( 06,O7,
00):054 >**O7&& 052<** O7?050* *(*O7)
++,O5(06 ,O7,00 ):!(** O7^0170 )||!(
0130^** O7)?*++ *O7,O5 (05,O7 ,00):*
*O7==0144 ||**O7 ==0104 ?++*O7 ,O5(04,
O7,00): O5(03 ,O7,00 )):!-- O2?(*
*O7==052 ?O5(07 ,O7,O3* (*++*O7 ,O5(06
,O7,00) )):!( 045-** O7)?O5( 07,O7,
O3%(03+( *O7)++, O5(06, O7,00) )):!(**
O7^057)?O5(07, O7,O3/( 03-*++ *O7,O5(
06,O7,00))):O3 ):!(O2 +=01-02 )?O5(07
,O7,O5(06,O7, 00)):!( O2+=-02/ 02)?(!(*
*O7-053)?O5(011,O7,O3+(++*O7,O5(010,O7,00))):!(055^**O7)?O5(011,O7,O3-(03+*(*O7
)++,O5(0010,O7,00))):O3):!(O2-=0563&0215)?O5(011,O7,O5(010,O7,00)):(++*O7,O3);}
main(O2,O7,O3)char**O7,**O3;{return O5(O2,O7,0);}