История изменений
Исправление firkax, (текущая версия) :
И не повод в каждой строчке кастовать по несколько переменных.
А и не надо кастовать, надо нормально проектировать софт чтобы таких мест не возникало. У меня как-то получается. Да, есть противные места, как уже упомянутый argc и значения возврата всяких read() write() recv() send() и подобного, их иногда приходится кастовать и перезаписывать в переменную нормального unsigned типа, с которой уже и работать. По-хорошему это всё те же недоработки их 70-х 80-х, когда люди ещё не до конца осознавали необходимость охватывать кодом все сценарии его исполнения, а не только предположительно используемые. По-нормальному read() должен иметь прототип примерно такой
int read(int fd, void *buf, size_t bufsz, size_t *readsz);
Это просто не добрались ещё теоретики.
Нет, ты просто не понимаешь смысл того варнинга. Вот int64 и double варнинг уже может быть, но не из-за знака.
Исходная версия firkax, :
И не повод в каждой строчке кастовать по несколько переменных.
А и не надо кастовать, надо нормально проектировать софт чтобы таких мест не возникало. У меня как-то получается. Да, есть противные места, как уже упомянутый argc и значения возврата всяких read() write() recv() send() и подобного, их иногда приходится кастовать и перезаписывать в переменную нормального unsigned типа, с которой уже и работать. По-хорошему это всё те же недоработки их 70-х 80-х, когда люди ещё не до конца осознавали необходимость охватывать кодом все сценарии его исполнения, а не только предположительно используемые. По-нормальному read() должен иметь прототип примерно такой
int read(int fd, void *buf, size_t bufsz, size_t *readsz);