conv.c: inkey()
if ((c = SJ_getchar ()) == (wchar16_t) EOF)
return ((short) c);
このコード凄くいやらしくないですか?
EOFは(-1)、typedef unsigned short wchar16_t、wchar16_t SJ_getchar()なので、SJ_getchar()の戻り値が0xffff(EOF)だったらこれをshortにキャストしてさらにintで返す。
なのでEOF(-1)で帰ってきそうなはずなんだけど、いまいち確信が持てない。ちょいとコード書いて試せばいいか。