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