xmalloc



Continuing the error-handling thread.

I am floating

void *xmalloc(int sz)
{
void *answer;

assert(sz >= 0);
if(sz == 0)
sz = 1;
answer = malloc(sz);
if(!answer)
{
fprintf(stderr, "Can't allocate %d byte%c\n", sz, sz == 1 ? ' ', 's');
exit(EXIT_FAILURE);
}
return answer;
}

as a solution to the malloc() problem.
(Chuck Falconer's suggestion)
You call it for trivial allocations on the basis that if the computer won't give a few bytes of memory, not much can be done.
However you wouldn't call it to allocate an image, for example, because legitmate images can be quite large in relation to computer memories.


--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

.