Проблема в том, что fgetc сотоварищи возвращает int. Некоторые особо умные программисты сначала кладут возвращаемое
значение в переменную типа char, делая неразличимыми EOF
(0xFFFFFFFF) и "я" (0x000000FF), а уже потом проверяют её на -1.
Не надо делать мне как лучше, оставьте мне как хорошо