From 3484c9675a8a09904e08e00bf6842d834cd0201d Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sat, 4 May 2013 17:38:53 -0400 Subject: Add memory allocation cleanup to loadable objects. Add gmk_alloc() and gmk_free() functions so loadable objects can access our memory model. Also provide a more extensive example in the manual. --- loadapi.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'loadapi.c') diff --git a/loadapi.c b/loadapi.c index d79c41c..e314390 100644 --- a/loadapi.c +++ b/loadapi.c @@ -20,6 +20,20 @@ this program. If not, see . */ #include "variable.h" #include "dep.h" +/* Allocate a buffer in our context, so we can free it. */ +char * +gmk_alloc (unsigned int len) +{ + return xmalloc (len); +} + +/* Free a buffer returned by gmk_expand(). */ +void +gmk_free (char *s) +{ + free (s); +} + /* Evaluate a buffer as make syntax. Ideally eval_buffer() will take const char *, but not yet. */ void @@ -31,7 +45,7 @@ gmk_eval (const char *buffer, const gmk_floc *floc) } /* Expand a string and return an allocated buffer. - Caller must free() this buffer. */ + Caller must call gmk_free() with this buffer. */ char * gmk_expand (const char *ref) { -- cgit v1.2.3