на главнуюВсе эхи RU.UNIX.PROG
войти ?

Re: Как правильно предохраняться?

От Valentin Nechayev (2:5020/400) к "Eugene B. Berdnikov"

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: Valentin Nechayev <netch@segfault.kiev.ua>


>>> Eugene B. Berdnikov wrote:

EBB> Hашёл в C/C++ совершенно честный способ залететь.

Собственно я и хотел добавить к уже сказанному народом, что я обычно
-Werror не добавляю и -Wextra тоже постоянно не держу (хотя где как),
но на comparison between signed and unsigned внимание обращаю
усиленное.

А лечится оно в практически всех случаях явной конверсией к знаковому
типу, потому что отрицательные результаты подобного рода обычно
вылазят из функций, которые возвращают -1 как признак ошибки (и,
например, задекларированы как возвращающие ssize_t). Тогда, если
применить сравнение вида

if( ret < (ssize_t) ожидаемое )
{
громко плакать;
}

ошибки подобного вида уходят.

Вот почему по умолчанию сводят к общему беззнаковому - я не знаю,
но похоже на диверсию.


--netch--
--- ifmail v.2.15dev5.4
* Origin: Dark side of coredump (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.UNIX.PROG?msgid=<1187333832@segfault.kiev.ua>+fe555139