From 0f94fa771882136755b0fccb2837a76aab9bc0f3 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 10 Jan 2012 14:38:44 +0200 Subject: Typedef function types to help Diab C++ compiler (VxWorks) --- libxsde/xsde/c/genx/genx.c | 20 ++++++++++---------- libxsde/xsde/c/genx/genx.h | 17 ++++++++--------- 2 files changed, 18 insertions(+), 19 deletions(-) (limited to 'libxsde') diff --git a/libxsde/xsde/c/genx/genx.c b/libxsde/xsde/c/genx/genx.c index 5c1fc63..fdfa587 100644 --- a/libxsde/xsde/c/genx/genx.c +++ b/libxsde/xsde/c/genx/genx.c @@ -132,8 +132,8 @@ struct genxWriter_rec plist stack; struct genxAttribute_rec arec; char * etext[100]; - void * (* alloc)(void * userData, int bytes); - void (* dealloc)(void * userData, void * data); + genxAlloc alloc; + genxDealloc dealloc; /* Pretty-printing state */ int ppIndent; @@ -545,9 +545,7 @@ static Boolean isNameChar(genxWriter w, int c) /* * Construct a new genxWriter */ -genxWriter genxNew(void * (* alloc)(void * userData, int bytes), - void (* dealloc)(void * userData, void * data), - void * userData) +genxWriter genxNew(genxAlloc alloc, genxDealloc dealloc, void * userData) { genxWriter w; genxNamespace xml; @@ -689,20 +687,22 @@ int genxGetPrettyPrint(genxWriter w) /* * get/set allocator */ -void genxSetAlloc(genxWriter w, void * (* alloc)(void * userData, int bytes)) +void genxSetAlloc(genxWriter w, genxAlloc alloc) { w->alloc = alloc; } -void genxSetDealloc(genxWriter w, - void (* dealloc)(void * userData, void * data)) + +void genxSetDealloc(genxWriter w, genxDealloc dealloc) { w->dealloc = dealloc; } -void * (* genxGetAlloc(genxWriter w))(void * userData, int bytes) + +genxAlloc genxGetAlloc(genxWriter w) { return w->alloc; } -void (* genxGetDealloc(genxWriter w))(void * userData, void * data) + +genxDealloc genxGetDealloc(genxWriter w) { return w->dealloc; } diff --git a/libxsde/xsde/c/genx/genx.h b/libxsde/xsde/c/genx/genx.h index 56f50b7..5bfad02 100644 --- a/libxsde/xsde/c/genx/genx.h +++ b/libxsde/xsde/c/genx/genx.h @@ -71,6 +71,9 @@ typedef struct genxNamespace_rec * genxNamespace; typedef struct genxElement_rec * genxElement; typedef struct genxAttribute_rec * genxAttribute; +typedef void * (*genxAlloc) (void * userData, int bytes); +typedef void (*genxDealloc) (void * userData, void* data); + /* * Constructors, set/get */ @@ -81,9 +84,7 @@ typedef struct genxAttribute_rec * genxAttribute; * one document at a time with a writer. * Returns NULL if it fails, which can only be due to an allocation failure. */ -genxWriter genxNew(void * (*alloc)(void * userData, int bytes), - void (* dealloc)(void * userData, void * data), - void * userData); +genxWriter genxNew(genxAlloc alloc, genxDealloc dealloc, void * userData); /* * Reset the writer object back into usable state after an error or @@ -123,12 +124,10 @@ int genxGetPrettyPrint(genxWriter w); * the memory; this would be appropriate in an Apache context. * If "alloc" is not provided, genx routines use malloc() to allocate memory */ -void genxSetAlloc(genxWriter w, - void * (* alloc)(void * userData, int bytes)); -void genxSetDealloc(genxWriter w, - void (* dealloc)(void * userData, void * data)); -void * (* genxGetAlloc(genxWriter w))(void * userData, int bytes); -void (* genxGetDealloc(genxWriter w))(void * userData, void * data); +void genxSetAlloc(genxWriter w, genxAlloc alloc); +void genxSetDealloc(genxWriter w, genxDealloc dealloc); +genxAlloc genxGetAlloc(genxWriter w); +genxDealloc genxGetDealloc(genxWriter w); /* * Get the prefix associated with a namespace -- cgit v1.1