Additional fix for 1989/fubar
My original fix no longer worked, at least with clang in some systems, because of more strictness in the compiler wrt implicit ints. As the code does not use the Makefile but rather 'cc' (and in an unusual way) 'main()' now has an explicit int. Also, what was previously documented as a bug to be fixed has been changed to INABIAF as it was documented already. Thus it should not be fixed. In fact the judges originally noted that if one specifies the triggering input they should expect an infinite loop and compilation failure.
This commit is contained in:
1 parent
0f66ae6dea
commit
e8d868e0ed
7 files changed
+121
-116
No files matched your search
+1
-1
@@ -3,7 +3,7 @@
|
||||
#include <stdlib.h>
|
||||
#define QQ 1
|
||||
#define TT 1
|
||||
#define cc main(c,v) int c; char **v;{char tt[12],qq[7]; int q=0,o=1,l=1,m=1;struct {int c;} f;
|
||||
#define cc int main(c,v) int c; char **v;{char tt[12],qq[7]; int q=0,o=1,l=1,m=1;struct {int c;} f;
|
||||
#define ouroboros qq[6]='\0';tt[11]='\0';if(QQ==atoi(v[1])+1){(void)fprintf(stderr,"%s factorial = %d\n",v[1], TT);exit(1);}o=c+f
|
||||
#define x ;while(EOF!=(o=getchar())){if(l && q=='Q' && o=='Q'){l=0;(void)getchar();(void)fread(qq,6,1,stdin);(void)printf("Q %6d",atoi(qq)+1);}else
|
||||
if(m && q=='T' && o=='T'){m=0;(void)fread(tt,11,1,stdin);(void)printf("T %9d\n",atoi(tt)*QQ);}else {q=o;(void)putchar(o);}}exit(0);}
|
||||
|
||||
Reference in new issue
Block a user