diff options
Diffstat (limited to 'src/pseudotalloc')
| -rw-r--r-- | src/pseudotalloc/pseudotalloc.c | 16 | ||||
| -rw-r--r-- | src/pseudotalloc/talloc.h | 3 | 
2 files changed, 19 insertions, 0 deletions
| diff --git a/src/pseudotalloc/pseudotalloc.c b/src/pseudotalloc/pseudotalloc.c index 2a990663..89e62696 100644 --- a/src/pseudotalloc/pseudotalloc.c +++ b/src/pseudotalloc/pseudotalloc.c @@ -96,3 +96,19 @@ char *talloc_asprintf(const void *ctx, const char *fmt, ...)  	va_end(args);  	return buf;  } + +void *talloc_steal(const void *new_ctx, const void *obj) +{ +	/* as we don't do hierarchical allocations, this is simply a NOP */ +	return (void *)obj; +} + +char *talloc_vasprintf(const void *t, const char *fmt, va_list ap) +{ +	/* we have a hard-coded maximum string length of 128 bytes in this pseudo implementation */ +	char *buf = pseudotalloc_malloc(128); +	if (!buf) +		return NULL; +	vsnprintf(buf, 128, fmt, ap); +	return buf; +} diff --git a/src/pseudotalloc/talloc.h b/src/pseudotalloc/talloc.h index ae2e1fc8..34088af0 100644 --- a/src/pseudotalloc/talloc.h +++ b/src/pseudotalloc/talloc.h @@ -59,3 +59,6 @@ void *_talloc_zero_array(const void *ctx,  			 unsigned count,  			 const char *name);  char *talloc_asprintf(const void *ctx, const char *fmt, ...); + +void *talloc_steal(const void *new_ctx, const void *obj); +char *talloc_vasprintf(const void *t, const char *fmt, va_list ap); | 
