История изменений
Исправление
qulinxao,
(текущая версия)
:
а уж если семантику
аха
#define likely(x) __builtin_expect(!!(x), 1)
void __pfcq_free(void** _pointer)
{
if (unlikely(_pointer))return;
void* p = *_pointer;
if (unlikely(p))return;
size_t* s = (size_t*)p - 1;
if (unlikely(s))return;
size_t size = *s;
pfcq_zero(s, size);
free(s);
*_pointer = NULL;
}
Исходная версия
qulinxao,
:
а уж если семантику
аха #define likely(x) __builtin_expect(!!(x), 1)
то
void __pfcq_free(void** _pointer)
{
if (unlikely(_pointer))return;
void* p = *_pointer;
if (unlikely(p))return;
size_t* s = (size_t*)p - 1;
if (unlikely(s))return;
size_t size = *s;
pfcq_zero(s, size);
free(s);
*_pointer = NULL;
}