Ну, блин! Это же главное в Си - чужие библиотеки, которые позволяют
всё делать гораздо быстрее. Я в них разбираюсь сейчас, чтобы
привыкнуть к виду сишного текста, оборотам языка, идиомам и т.д. И
положа руку куда-нибудь, а чего плохого-то? Определили базовое
значение и определили условие несоответствия базе, которое будет
работать везде, хотя может отличаться в разных системах. Понятно
как определили, и как проверяют тоже понятно. Нормальный код. Мне
сама идея чужих библиотек, препроцессора не нравится, но, что ж тут делать, всё равно придётся работать так. Спасибо за помощь, кстати. Очень мне ответы помогают.