#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define T for(
#define O getenv(w+
#define K printf(w+
#define I(O,c,C)C ##c##O
#define G(G,\
U)strcspn(G,#U)[G]=0;
#define N(N)"<a; href=?"#N"=%s>%s</a>"
typedef char _;
_* q, p[ 99 ],
a[ 99 ]= "_ ", r[ 99 *9 ], b[ 999] ,w [] =" ;} %c} %s} <p >} </ b\
>} </i >} &g t{; } &l t{; } &a mp {; } < /u l>} <h %d>} <pre >} <%s %c>} \
</ h% d>} </ pr e>} <h r> <p >} QU ER Y_ ST RI NG} </ ul >< ul >< li >} RE QU ES T_ M\
ETHOD} CONT ENT_ LE NGTH } <h 1> \"%s\" </h1 ><ul >} < h1>"N( S)"< /h 1>} Co nt en t- Ty pe :text/ html {\n {\n }< li >" N( P) "} </ te xt ar ea >< br >< i\
np ut; ty pe =s ub mi t> </ fo rm >} <h r> <f or m; acti on =? >" N( E) "; or; sear ch; <input; na me=S></for m>} <h 1> "N( P) "</h 1> <for m"
"; ac ti on=?E=% s; me th od =p os t> <t ex ta re a; name=x; ro ws =2 5; col s= 80 >} Fr on tP ag e} ", *m =( "rb" ); int i,
j, s[ 3] ,u ,v ,l =- 1, c; I( LE ,I ,F)* f, *g; d( _* s, _* t) { T -- s; +* ++ s; u|| (* t++ =* s- 43 ?* s: 32 )) if (u= *s== 37 ){ T
i= j= 0; ++i<3; j= j* 16 +( 4- (* s- 8) /10? (( 32|* s) -1 )/6-16 ?+ 666: (* s| 32 )-87 :* s- 48 )) ++ s; j >> 8?(s -=
2, u= 0) :( *t ++
=j ); } * t=
0; } y (){ K( c-
38 ?c +- 60 ?c -62 ?2 :22 :3 *9 :32 ), c); } e( _* p, _* q) { T a[ i= 1] =0;
*p; ++ i, ++ i) sprintf (a+i,"%" "0" "2x" ,* (p ++ )); g= fopen( a, q); } o (_
*p ){ *b =0; e( p, m); if (g ){ I(k, ee, fs) (g, 0, I( END ,K_, SEE )); I( ad ,e, fr )( b, 01, 9* 99,
I( pen ,eo, fr )( a, m, g) )[ b]=0x0; } } main () { T q=w; c=*q ++; c> 32 &&( w[j ++ ]= c- 59 ?c -123?c -125 ?c :0:*q++ :32)); strcpy (p ,w+ 448 ); +K 190 ); q=
(O 85) ); if(v=*q&&q [1]== 61){ q[ 2] && d( q+2 ,p ); if (+ *q == 69 ){ v =2; if (* O 112)%v){ +K 354 ,p ,p ,p ); m= "r" ; o( p); T q =b; c= *q ++;
y( )); I( t, xi ,e )( +K 240 )) ;} I( ad, re ,f )(r,1, j= I( i, o, at )( (O 127)) ),stdin )[ r] =0; T e( "","r" ); j&& g&& I( ts ,e,
fg )( b, 99 ,g ); j= I( mp, trc ,s )( b, p) )G (b , \r \n )e ("","a" ); (j && g) && I( tf, rin ,fp )( g, "%" "s \n" ,p ); if (q
=I(r ,st ,str )( r,"x=" )){ G( q, &)d( q+ 2, (b)); } e( p, "wb" ); g? fputs( b,g):0; } if(+*q == 83 ){ K + 142 ,p ); e( "",
"r" ); T f= g; f&& I(s ,et, fg)
(r, 99 ,f ); I( tr, trs ,s
)( b,
p) && +K 215 ,r ,r )) { G (r ,\r \n )o (r );
} exit (K 38) ); } } v|| *q&&d( q,p ); v< 2&&o (p); q= b; T K 160 ,p ,p); * b; v =u ){ c= *q ++ ; if (c- 10
&& c- 13 ){ if (l ){ T u= 0; 33== c; u -- )c =* q++; if (!u) (c +- 32 && c- 42 )|| (u =--c %3 ,c =*q ++
); } if (u -v || !c ){ s[2] && +K 12 ); *s && +K 17 ); *s =s [2 ]= 0; K( v< 0?63:v -2 ?v -1?1 :+70: 38),-v ); if (! c) I( ak, re ,b ); K( u<
0? 44 :u -2?u -1 ?c -45? 1: 8: 50 :+ 103 ), -u); {} } else if (l ){ +u || K( l<0 || (l >1 && !v )? 8: 45 ==c) ); T u- 2|| K( l< 2)*
9+ 98 ); (u == 1) &&l -- ;K 213 )) ;} if (u -1)if (c -+ 95 && c- 39 || *q -c ) if (( !l || u||45- c) || (i =I( pn ,rs, st)
(q,"-" )) <3 )if (c >64&& c< 91 ){ T i =j =v =0; ++ i&& !j; (j =( (c |+ 32 )- 19 )/ 26 -3 )|| (v =c &32 ?v ?v :1 :v ?2 :v )) c= *q
++; q[ -1]=00; K(v<2?5: 219 ),q- i,q-i); *--q=c; } else y( ); else { K 77 ); q+= i; } else{ +K 56," /" +8 +( s[c%3] ^=01), "i b"[c% 3* 2] ); q++ ;} else y(); l =0; } else { * q-
10 || c- 13 || ++ q; l<0 || ++
l; } } exit (K 282 ,p, "ed" "it"
)); }
(2005-05-23) 본래 IOCCC 2005에 낼 목적으로 만든 CGI 위키 프로그램입니다. 물론, 깔끔하게 IOCCC 코드 요건을 충족하지 못 했기 때문에 (코드가 너무 김) 수상 같은 건 꿈도 꾸질 않았습니다.
(TODO)
6039f736fa19
)