Add xtalloc_reference.
Yet another talloc wrapper that should come in handy.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user