Навигация по коду c-generic-library Я нашел это:
#include <stdio.h>
#include "node.h"
#include "gen/access_macros.h"
#include "gen/error_macros.h"
Node *
construct_Node(size_t nlinks)
{
Node *ptr = NULL;
CHECK_VARA(ptr = malloc(sizeof *ptr), NULL);
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
return ptr;
}
}
}
return ptr;
}
void
destruct_Node(Node * node)
{
free(node->ptr);
free(node);
}
В чем преимущество повторных попыток malloc
2 раза?Я имею в виду, есть ли вероятность, что malloc
вернет true, если он уже дважды потерпел неудачу?