diff options
-rwxr-xr-x | src/syncml_tk/src/sml/inc/smldef.h | 3 | ||||
-rwxr-xr-x | src/syncml_tk/src/sml/lib/all/libmem.c | 13 | ||||
-rwxr-xr-x | src/syncml_tk/src/sml/lib/inc/libmem.h | 10 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/syncml_tk/src/sml/inc/smldef.h b/src/syncml_tk/src/sml/inc/smldef.h index 10d5839..557db55 100755 --- a/src/syncml_tk/src/sml/inc/smldef.h +++ b/src/syncml_tk/src/sml/inc/smldef.h @@ -99,13 +99,14 @@ typedef Byte_t Boolean_t; /**< a boolean */ typedef Short_t Ret_t; /**< Return Type of API Commands */ -typedef Long_t Length_t; /**< System dependent string length */ typedef Short_t MemHandle_t; /**< Memory object Handle */ typedef unsigned char *MemPtr_t; /**< Memory object Pointer */ typedef void *VoidPtr_t; /**< Void Pointer */ #ifdef HAVE_STDINT_H +typedef uintptr_t Length_t; /**< System dependent string length */ typedef uintptr_t MemSize_t; /**< System dependent memory object size */ #else +typedef Long_t Length_t; /**< System dependent string length */ typedef Long_t MemSize_t; /**< System dependent memory object size */ #endif typedef unsigned char MemByte_t; /**< Memory element */ diff --git a/src/syncml_tk/src/sml/lib/all/libmem.c b/src/syncml_tk/src/sml/lib/all/libmem.c index fdb720a..8285cfe 100755 --- a/src/syncml_tk/src/sml/lib/all/libmem.c +++ b/src/syncml_tk/src/sml/lib/all/libmem.c @@ -56,6 +56,18 @@ #include "MemoryMgr.h" #endif +#ifdef SML_LIB_MEMORY_FUNCTION_POINTERS + +void *(*smlLibRealloc)(void *pObject, MemSize_t size) = realloc; +void (*smlLibFree)(void *pObject) = free; +void *(*smlLibMemset)(void *pObject, int value, MemSize_t count) = memset; +void *(*smlLibMemcpy)(void *pTarget, const void *pSource, MemSize_t count) = memcpy; +void *(*smlLibMemmove)(void *pTarget, const void *pSource, MemSize_t count) = memmove; +int (*smlLibMemcmp)(const void *pTarget, const void *pSource, MemSize_t count) = memcmp; +void *(*smlLibMalloc)(MemSize_t size) = malloc; + +#else /* SML_LIB_MEMORY_FUNCTION_POINTERS */ + #ifdef MEMORY_PROFILING // %%% luz 2002-10-02 #include "profiling.h" @@ -185,3 +197,4 @@ SML_API void *smlLibMalloc(MemSize_t size) { +#endif /* SML_LIB_MEMORY_FUNCTION_POINTERS */ diff --git a/src/syncml_tk/src/sml/lib/inc/libmem.h b/src/syncml_tk/src/sml/lib/inc/libmem.h index 95be40a..a5cd5c1 100755 --- a/src/syncml_tk/src/sml/lib/inc/libmem.h +++ b/src/syncml_tk/src/sml/lib/inc/libmem.h @@ -73,7 +73,15 @@ *************************************************************************/ -#ifdef __PALM_OS__ /* we use #define to reduce heap usage */ +#ifdef SML_LIB_MEMORY_FUNCTION_POINTERS +extern void *(*smlLibRealloc)(void *pObject, MemSize_t size); +extern void (*smlLibFree)(void *pObject); +extern void *(*smlLibMemset)(void *pObject, int value, MemSize_t count); +extern void *(*smlLibMemcpy)(void *pTarget, const void *pSource, MemSize_t count); +extern void *(*smlLibMemmove)(void *pTarget, const void *pSource, MemSize_t count); +extern int (*smlLibMemcmp)(const void *pTarget, const void *pSource, MemSize_t count); +extern void *(*smlLibMalloc)(MemSize_t size); +#elif defined __PALM_OS__ /* we use #define to reduce heap usage */ void *smlLibRealloc (VoidPtr_t objectP, MemSize_t constSize) LIB_FUNC; void smlLibFree (void* objectP) LIB_FUNC; #define smlLibMemset(pObject,value,count) ((void)MemSet((VoidPtr_t)pObject,(MemSize_t)count,(int)value)) |