LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Кучу кода чинил где из-за чьего-то тупого «суну int по дефолту» были баги. Как минимум, стоит подумать нужен ли тебе знак у этого числа. Во вторую очередь - хватит ли битности во всех режимах компиляции (включая 64-битный, а то некоторые например в 32-only эпоху ставили int для приёма возврата из функции long и оно работало).

Ну и пожалуй приведу самое известное отвратительное последствие этого тупизма прямо в libc - тип возврата snprintf, из-за которого этой функцией нельзя пользоваться в местах где ты не хочешь вводить искусственных ненужных ограничений на функционал.

И таки мне видится что это всё именно наследие со времён K&R.

Исходная версия firkax, :

Кучу кода чинил где из-за чьего-то тупого «суну int по дефолту» были баги. Как минимум, стоит подумать нужен ли тебе знак у этого числа. Во вторую очередь - хватит ли битности во всех режимах компиляции (включая 64-битный, а то некоторые например в 32-only эпоху ставили int для приёма возврата из функции long и оно работало).

Ну и пожалуй приведу самое известное отвратительное последствие этого тупизма прямо в libc - тип возврата snprintf, из-за которого этой функцией нельзя пользоваться в местах где ты не хочешь вводить искусственных ненужных ограничений на функционал.