extend initStringBuffer
[tedtools.git] / tmalloc.h
index f1abcee..89648de 100644 (file)
--- a/tmalloc.h
+++ b/tmalloc.h
@@ -85,14 +85,19 @@ void        mcfree(void * ptr);
 char * mcstrdup(MemoryContext *cntx, char * src);
 char * mcnstrdup(MemoryContext *cntx, char *src, int len);
 
+typedef void* (*MemAlloc)(void *ptr, size_t size);
+
 typedef struct {
     char            *buf;
        char            *ptr;
        u_int32_t       len;
        MemoryContext   *mc;
+       MemAlloc                memalloc;
 } StringBuffer;
 
-StringBuffer* initStringBuffer(StringBuffer* state, MemoryContext *mc, int initsize);
+StringBuffer* initStringBuffer(StringBuffer* state, int initsize);
+StringBuffer* initStringBufferMC(StringBuffer* state, MemoryContext *mc, int initsize);
+StringBuffer* initStringBufferMA(StringBuffer* state, MemAlloc memalloc, int initsize);
 StringBuffer* appendStringBuffer( StringBuffer *state, char *string, int stringlen);
 StringBuffer* printStringBuffer( StringBuffer *state, const char *format, ...);