diff --git a/src/config.c b/src/config.c index 73032ec..db58114 100644 --- a/src/config.c +++ b/src/config.c @@ -32,12 +32,22 @@ #include #ifdef UNIT_TESTING -extern void mock_assert(const int result, const char* const expression, +extern void mock_assert(const int result, const char * const expression, const char * const file, const int line); #undef assert #define assert(expression) \ mock_assert((int)(expression), #expression, __FILE__, __LINE__); + +extern void * _test_malloc(const size_t size, const char *file, const int line); +extern void * _test_realloc(void *ptr, const size_t size, const char *file, const int line); +extern void * _test_calloc(const size_t number_of_elements, const size_t size, + const char *file, const int line); +extern void _test_free(void * const ptr, const char *file, const int line); + +#define malloc(size) _test_malloc(size, __FILE__, __LINE__) +#define calloc(num, size) _test_calloc(num, size, __FILE__, __LINE__) +#define free(ptr) _test_free(ptr, __FILE__, __LINE__) #endif const int subsystem_len = 257; @@ -90,7 +100,7 @@ flog_config_new(int argc, char *argv[], FlogError *error) { poptReadDefaultConfig(context, 0); int option; - while ((option = poptGetNextOpt(context)) >= 0) { + while ((option = poptGetNextOpt(context)) > 0) { char *option_argument = poptGetOptArg(context); switch (option) { @@ -129,8 +139,6 @@ flog_config_new(int argc, char *argv[], FlogError *error) { flog_config_set_message_type(config, MSG_PRIVATE); break; } - - free(option_argument); } if (option < -1) { diff --git a/src/flog.c b/src/flog.c index 58aa30b..0f3cade 100644 --- a/src/flog.c +++ b/src/flog.c @@ -29,12 +29,22 @@ #include "config.h" #ifdef UNIT_TESTING -extern void mock_assert(const int result, const char* const expression, - const char * const file, const int line); +extern void mock_assert(const int result, const char * const expression, + const char * const file, const int line); #undef assert #define assert(expression) \ mock_assert((int)(expression), #expression, __FILE__, __LINE__); + +extern void * _test_malloc(const size_t size, const char *file, const int line); +extern void * _test_realloc(void *ptr, const size_t size, const char *file, const int line); +extern void * _test_calloc(const size_t number_of_elements, const size_t size, + const char *file, const int line); +extern void _test_free(void * const ptr, const char *file, const int line); + +#define malloc(size) _test_malloc(size, __FILE__, __LINE__) +#define calloc(num, size) _test_calloc(num, size, __FILE__, __LINE__) +#define free(ptr) _test_free(ptr, __FILE__, __LINE__) #endif #define OS_LOG_FORMAT_PUBLIC "%{public}s"