Следующая:System Dependence, Следующая:Naming Conventions, Предыдущая:Hacking, Вверх:Hacking
Код тщательно разделен в системно независимую часть и системно
зависимую часть. Системно зависимый код находится в подкаталоге
unix
, и также в файле sysh.unx
(также известный как
sysdep.h
).
С правильными конфигурационными параметрами, системно независимый
код вызывает только ANSI C функции. Некоторые менее общие функции ANSI
C находятся в каталоге lib
. Подмененная функция strtol
файла
lib/strtol.c
предполагает, что символы от A до F и от
a до f идут строго по порядку. Функция igradecmp
файла
uuconf/grdcmp.c
предполагает, что буквы верхнего регистра и нижнего
регистра идут по порядку. Оба предположения являются верными для ASCII и
EBCDIC, но не гарантируется в ANSI C. Не считая указанные случаи, я
(автор) считаю, что системно независимый код является удовлетворительным.
Вся основная работа выполняется в системно зависимых файлах. Я (автор) полагаю, что данный код соответствует POSIX 1003.1, при правильно заданных параметрах компиляции. Хотя я (автор) не очень в этом уверен.
Код использовался в системах с 16 битовым сегментированием без прототипов функций, так что я(автор) полностью уверен, что все приведения к типу long и к указателям осуществляются правильно.