From b44ec9f22b0e7d227377d6d263c3320174f03fab Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Tue, 20 Aug 2013 20:25:57 +0100 Subject: [PATCH] fix the last issues with using quick fit with the class interface. --- src/logger/interface/i_logger.c | 36 ++++++++++++++++----------------- src/utils/memory.c | 13 +++++------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/logger/interface/i_logger.c b/src/logger/interface/i_logger.c index b1f6158..0f9045f 100644 --- a/src/logger/interface/i_logger.c +++ b/src/logger/interface/i_logger.c @@ -53,24 +53,24 @@ loggerLog(void * _object, logger_level level, const char * const fmt, ...) { vsnprintf(msg, msg_size + 1, fmt, params); va_end(params); - // ----- DEBUG ------ - do { - struct i_Logger * iface; - - do { - class_ptr class = GET_CLASS(_object); - iface = (struct i_Logger *)IFACE_GET(class, &i_Logger); - while ((NULL == iface || NULL == iface->log) && HAS_PARENT(class)) { - class = class->parent; - iface = (struct i_Logger *)IFACE_GET(class, &i_Logger); - } - assert(NULL != iface->log); - } while(0); - - iface->log(_object, level, msg); - } while(0); - // ----- DEBUG ------ - //CALL(_object, Logger, log, level, msg); +// // ----- DEBUG ------ +// do { +// struct i_Logger * iface; +// +// do { +// class_ptr class = GET_CLASS(_object); +// iface = (struct i_Logger *)IFACE_GET(class, &i_Logger); +// while ((NULL == iface || NULL == iface->log) && HAS_PARENT(class)) { +// class = class->parent; +// iface = (struct i_Logger *)IFACE_GET(class, &i_Logger); +// } +// assert(NULL != iface->log); +// } while(0); +// +// iface->log(_object, level, msg); +// } while(0); +// // ----- DEBUG ------ + CALL(_object, Logger, log, level, msg); MEM_FREE(msg); } diff --git a/src/utils/memory.c b/src/utils/memory.c index 64f34f4..3df1962 100644 --- a/src/utils/memory.c +++ b/src/utils/memory.c @@ -41,9 +41,10 @@ * along with this program. If not, see . */ +#define _GNU_SOURCE + #include #include -#define _GNU_SOURCE #include #include "utils/memory.h" @@ -67,8 +68,8 @@ static int segmentFindCmp(const void * size_ptr, const void * subject) { - if (*(size_t *)size_ptr < ((struct memSegment *)subject)->size) - return -1; + if (*(size_t *)size_ptr > ((struct memSegment *)subject)->size) + return 1; return 0; } @@ -139,10 +140,6 @@ memCalloc(size_t nmemb, size_t size) { size_t _size = nmemb * size; void * mem = memMalloc(_size); - struct memSegment * seg = - (struct memSegment *)(mem - sizeof(struct memSegment)); - - printf("DEBUG %zu : %zu\n", _size, seg->size); memset(mem, 0, _size); @@ -153,7 +150,7 @@ void memFree(void ** mem) { if (NULL != *mem) { - void * foo = tsearch(*mem - sizeof(struct memSegment), &segments, segmentSearchCmp); + tsearch(*mem - sizeof(struct memSegment), &segments, segmentSearchCmp); *mem = NULL; } }