Add xtalloc_reference.

Yet another talloc wrapper that should come in handy.
This commit is contained in:
Carl Worth 2010-05-25 14:40:47 -07:00
parent 3ff8167084
commit 9bb796f33a
2 changed files with 21 additions and 0 deletions

View file

@ -164,4 +164,10 @@ xtalloc_strndup (const void *t, const char *p, size_t n);
char *
xtalloc_asprintf (const void *t, const char *fmt, ...);
void *
_xtalloc_reference_loc (const void *context,
const void *ptr, const char *location);
#define xtalloc_reference(ctx, ptr) (_TALLOC_TYPEOF(ptr))_xtalloc_reference_loc((ctx),(ptr), __location__)
#endif

View file

@ -82,3 +82,18 @@ xtalloc_asprintf (const void *t, const char *fmt, ...)
va_end(ap);
return ret;
}
void *
_xtalloc_reference_loc (const void *context,
const void *ptr, const char *location)
{
void *ret;
ret = _talloc_reference_loc (context, ptr, location);
if (ret == NULL) {
fprintf (stderr, "Out of memory.\n");
exit (1);
}
return ret;
}