diff --git a/2004/newbern/README.md b/2004/newbern/README.md index df4af0d23..ba411a38e 100644 --- a/2004/newbern/README.md +++ b/2004/newbern/README.md @@ -10,6 +10,13 @@ make ``` +[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) and Landon individually +fixed this to work with clang. Cody turned the second arg to main, which clang +requires to be a `char **`, to be not the same name as a function defined +earlier in the code and to use that variable which `main()` used. Thank you Cody +for your assistance! + + ### To run: ```sh diff --git a/2004/newbern/newbern.c b/2004/newbern/newbern.c index 2593f6108..1a9353cf7 100644 --- a/2004/newbern/newbern.c +++ b/2004/newbern/newbern.c @@ -11,7 +11,7 @@ #define y fclose #define end static -t(signed)char U;t(struct) b(O,); typedef char** A; +t(signed)char U;t(struct) b(O,); t( U*) H; t(O @@ -29,8 +29,8 @@ isspace(g); } H D(H s){H p,r;if(!s)G 0;for(p=(H)s;*p && { m(D(d)); l(f++, q); Z(*d && !P(*d )) d++; Z(*d && P(*d)) d++; } G b(,0);} void k() { static U b(c,;) ?R(c):(c='\n'); } - i main (i Q, A la) {H*l=la;static o - X;i t,j; switch (Q + i main (i Q, char**ll){static o + X;i t,j; switch (Q ){ case 1: { H *p, I [] ={ "aH" " " @@ -60,7 +60,7 @@ isspace(g); } H D(H s){H p,r;if(!s)G 0;for(p=(H)s;*p && t = (w == 200) ? 10:getchar(); switch(t) { case 0xa: case EOF: if(w-- - ){R(1[l ][0]) + ){R(1[ll ][0]) ;for(i =0, p=e;i <=w ;i+= 6){ @@ -79,7 +79,7 @@ p++ =0; }if((++w%6)==0)p++;}e( 0)}case 3:{O*u,*q,*x;U s[0400]; i i;FILE*F; j:j=1;if(!(X=calloc(6<< - 6,sizeof(O*)))) e(1) if(!(F=fopen(j[l], + 6,sizeof(O*)))) e(1) if(!(F=fopen(j[ll], "r")))e(1)Z(fgets(s,j<<8,F))(*s)&&h(X,s+j,*s );j=b(i,=)&0xff; i:u=0;x=X[i]; Z(x){q=Y(*( o)x)=Y(u) @@ -100,7 +100,7 @@ end i i xl; }if(Q<2 )goto -D;if(* l[2 +D;if(* ll[2 ]){R( 10) ;main (4, -l); }}} +ll); }}} Z(Q ++< 1){ X+= t; if