I fixed it so that the form where it would segfault (after printing the correct output) no longer occurs. The thanks file has had a note added towards the top about changing to fgets(), noting that although more is mentioned in the FAQ, it can be a real problem with some systems. The best example of it being beneficial is 1990/tbr. Naturally I also updated the thanks file for 1986/hague too, updating the details.
29 lines
1.0 KiB
C
29 lines
1.0 KiB
C
#define DIT (
|
|
#define DAH )
|
|
#define __DAH ++
|
|
#define DITDAH *
|
|
#define DAHDIT for
|
|
#define DIT_DAH malloc
|
|
#define DAH_DIT fgets
|
|
#define _DAHDIT char
|
|
_DAHDIT _DAH_[]="ETIANMSURWDKGOHVFaLaPJBXCYZQb54a3d2f16g7c8a90l?e'b.s;i,d:"
|
|
;main DIT DAH{_DAHDIT
|
|
DITDAH _DIT,DITDAH DAH_,DITDAH DIT_,
|
|
DITDAH _DIT_,DITDAH DIT_DAH DIT
|
|
DAH,DITDAH DAH_DIT DIT DAH;DAHDIT
|
|
DIT _DIT=DIT_DAH DIT 81 DAH,DIT_=_DIT
|
|
__DAH;_DIT==DAH_DIT DIT _DIT,81,stdin DAH&&(_DIT[strlen(_DIT)-1]='\0',_DIT);__DIT
|
|
DIT'\n'DAH DAH DAHDIT DIT DAH_=_DIT;DITDAH
|
|
DAH_;__DIT DIT DITDAH
|
|
_DIT_?_DAH DIT DITDAH DIT_ DAH:'?'DAH,__DIT
|
|
DIT' 'DAH,DAH_ __DAH DAH DAHDIT DIT
|
|
DITDAH DIT_=2,_DIT_=_DAH_; DITDAH _DIT_&&DIT
|
|
DITDAH _DIT_!=DIT DITDAH DAH_>='a'? DITDAH
|
|
DAH_&223:DITDAH DAH_ DAH DAH; DIT
|
|
DITDAH DIT_ DAH __DAH,_DIT_ __DAH DAH
|
|
DITDAH DIT_+= DIT DITDAH _DIT_>='a'? DITDAH _DIT_-'a':0
|
|
DAH;}_DAH DIT DIT_ DAH{ __DIT DIT
|
|
DIT_>3?_DAH DIT DIT_>>1 DAH:'\0'DAH;return
|
|
DIT_&1?'-':'.';}__DIT DIT DIT_ DAH _DAHDIT
|
|
DIT_;{DIT void DAH write DIT 1,&DIT_,1 DAH;}
|