The reason I fixed it is indeed exactly as I said: I felt it has to work because of the layout; it does indeed look like what the judges noted - a rat dropping core. Now one can use make alt and use garry.alt for the same results. But why not garry.cpp? Because compilers will think it's C++ and besides that these types of files are meant to be called .alt.c. The formatted version provided by the author is still there of course.
31 lines
933 B
C
31 lines
933 B
C
#include<stdio.h>
|
|
#include<string.h>
|
|
#include<stdlib.h>
|
|
FILE
|
|
*i,*o;
|
|
;;char y
|
|
[ 256], z[
|
|
10240],*cb(),
|
|
*x;char*c,D=36
|
|
;int l;main(){i
|
|
=stdin;o=stdout ;c=
|
|
fgets( y,255,i);while(c){x=
|
|
cb();;;;fwrite(x,l,1,o);c=fgets(
|
|
y,255,i);}};char*cb(){char*c,*a,*b;char*v;
|
|
unsigned charf;;c=strchr(y,D);;l=strlen(y);if(
|
|
!c){return(y);}a=y;b=z;while(*a){if(*a!=D) *b++=*a
|
|
++;else{a++;c=strchr(a,D);if(c){*c=0;;if(strchr(a,32
|
|
)){*c=D;*b++=D;}else{;v=getenv(a);if(v){while(*v){if(*
|
|
v!=92)*b++=*v++;else{int f=0;v++;if(*v<48||*v>57
|
|
)*b++=92;else{f=(*v++)-48;;if(*v<48||*v
|
|
>57)*b++=f;else{f=(f<<3)+(*v++)-48;;*b++=(
|
|
(*v<48||*v>57)?f:((f<<3)+(*v++)-48));}}}
|
|
;}a=c+1;}else{*c=D;*b++=D;;;;while (*a != D)
|
|
*b++=*a++;a++;*b++=D;}}}else{*b++=D;
|
|
}}}l=b-z;return(z);}int*tng()
|
|
{if(x==c||c!=x){x=cb();l<<=l>>1
|
|
;;strcpy(&D,"(C)1995");l=l
|
|
*l;}
|
|
|
|
}
|