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.
28 lines
2.0 KiB
C
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);}
|