Files
ioccc/2005/giljade/giljade.c
T
Cody Boone Ferguson 97af1f03bc Fix 2005/giljade/test.sh
The script did not check if all versions could be compiled, just that
180 versions were found. Now it reports an error if not all versions
(180) are found (exit code 1) or if any of the versions failed to
compile (exit code 2). Otherwise it returns 0, success.

The regexp for finding errors is '[^-]error' because the CFLAGS contain
the option -Wno-error which would be a false positive.

Now if any version fails to compile it will let the user know. Also in
that case out.count is kept so that one can look at the problem (it also
tells one how to show the results with grep(1) and even notes that if
they want to report it or try and fix it and open a GitHub pull request
that they're welcome to do so).

The giljade.c file's last line now ends on the column that it used to
before the fix of the test suite mode working. This does not affect the
output of the program and the fix did not either but it feels a bit
better this way anyway.
2023-11-21 05:49:19 -08:00

50 lines
2.4 KiB
C

#define/**/F/***/for/*A*/
#define/***/H()f=*E<<4|*\
E,f=~(f|f<<1|E[3]|E[1]|E\
[1]<<4|E[2]|E[(2)]<<(1));
#define/***/I(x,d)F(;s;C\
()){s=s^(b=s&s-1^s);F(N[\
4]=q=0;q<4;q++)N[q]=E[q]\
;N[5]=E-B;N[d]^=+b^(b)x;}
#define/**/o(p,t,i,m,a,l\
\
)u=(f&p)i(m) ;s=u&E[3];I(t(m),3)s=(u)a &E[l];I(t(m\
),l)u=u>>5-m &u;s=u&E[3-l];I(t(m),3-l) s=(u)a&*E;I\
(t(m),(0));; /*echo/Line/%d;sed/-n/-e/ %d,%dp/%s/|sed*/
/*-e/'s,intZ,int/ Z,g'>c.c;make/c;/ rm/-f/c*/
;;char*A=0,*_,*R,*Q, D[9999],*r,l[9999],T=42, M,V=32;int *E,k[9999],B[1 <<+21],*N=B+
1234567,q=0, h=3,j=2,O,b,f,u,s,c,a,t,e ,d;C(){F(h=N
[3];(B[h]&&+ memcmp(N,B+B[h],16));h=B[ h]+4);B[h]||
(B[h]=N-B,N= N+6);}main(Z,Y )char**Y;{char*U=Z ;
int**w=Y; ;;F(_=A=D+6666,A[fread(A,1,3333,fopen
(__FILE__, "r"))]=0;*++ _;h||(*_=V))
*_-59|_[1]-* _||(h&&(*_= +35),h---2||(_[9]=V));;F(_
=A;*_;_++)10 -*_&&*_-V&&( *_-92)&&(k[q]=isalnum(l[q
]=*_),q++);M =47;*(E=N-6) =64;E[1]=289;E[2]=270336;
F(E[3]=32782 ;E<N;E=E+6){ H()o(1048560,<<,>>,4,>>4,
1)o(+489335, >>,<<,1,,2)o (978670,<<,>>,1,>>1,2)o(+
65535,>>,<<, 4,,1)if(8192 &*E){F(N=B;E>B;E=B+E[5])*
N++=E-B;F(;N >B;){h=*(E=B +*--N);H()s=~(E[1]|h|h<<1
);u=~(E[2]|h |h<<4);r=l;_ =D;d=1;a=2;O=8;F(q=74;q;q
--){F(b=0;b< 72;b++){h=+1 <<(q-1)/14*4+(b-1)/18;j=b
?(!(b%18)&&u &h)|h&f|(!(q%14)&&s&h)?1:
0:2;if(O<3)O ?j?j-1&&(O-2 &&d--,*R=34,O=2):(*_++=O-
2?l[d]?l[d++ ]:(d=t,O=e=3 ,34):(O=1,34)):j||(*_++=d
<t?l[d++]:(O =1,d=0,34)); else{if(O<6)if(j){j-2|e||
(_=R,O-4?d-- :M-_[-1]||(_ [-1]=l[d++],O=3));c=0;if(
k[d]&k[d-1]) F(;k[d-1];++ c)d--;!d||((h=l[d])^l[d-1
])+k[d]||!(+ 40-(h&62)&&h -125)||(c=1,d--);c-1||(c=
2,d--);c&&(_ [-c]=M,_[1-c ]=T,O=4);j-2|e||(*_++=+92
);}else{h=*_ ++=O-4?O-5?l [d++]:(O=3,M):(O=5,T),(_[
-1]&&(35-h|| !(a=+1)))||( O=7,*(R=Q=_-(1))=M);}else
{j?O-7||(O=6
,_[-1]=59):( *_++=a-2?O-6 ?O-7?126&*++ r:(O=8,T):(O
=7,M):(a=0,l [d]-100?(e=1 ,O=0):(e=0,O =3,35)));if(
e==1){F(r=A= l+d;35-*A;++ A)*A-M&&*A-T ||U-1&&(*A=V
);d=d+A-r;if (U-1){*A=0;F (j=2;13499>j &&(sprintf(l
,r+1,j,j,O=j +75,w[1]),j= O,!system(l) ););exit(j<+
13499);}t=d+ 9;_[-1]=l[++ d];}a-1|+j-2 ||(R-Q<3?(*(
Q<R?R-1:R)=* Q=*R=59):(*R =M,R[-1]=T), a=2);}}j?(*_
++=j-2?V:10, R):(R=_-1);} }R[-1]=T;*R= M;*_++=10;F(
R =D ; putchar ( * R) && _ > ++R ; ) ; } } } ; }