snprintf и слишком умный компилятор
Наткнулся на забавное. При попытке скомпилировать достаточно тривиальный код:
gcc -Wall -Wextra -pedantic -D_FORTIFY_SOURCE=2 -O2 -o test test.c
...получаем две предупреждения от компилятора:
Наткнулся на забавное. При попытке скомпилировать достаточно тривиальный код:
gcc -Wall -Wextra -pedantic -D_FORTIFY_SOURCE=2 -O2 -o test test.c
...получаем две предупреждения от компилятора:
Навеяно вознёй со своим проектом, и вот этим срачем "как правильно закрывать файл" на 18 страниц. На полноту охвата вопроса не претендую, только то что видел и использовал сам.
Будем рассматривать на примере выделения памяти для сложного ресурса, сферичной структуры в вакууме с несколькими членами, также выделяемыми через *alloc(). Вот такой:
struct foo {
int id;
char *data1;
char *data2;
};
Сразу оговорюсь, что я считаю использование функций-аллокаторов "всего и сразу" - плохой практикой.