From 03f61f8e9f6dcd405e0c33febcb1ee9390d9deaa Mon Sep 17 00:00:00 2001 From: usr42 Date: Mon, 23 Jan 2017 17:21:47 +0100 Subject: [PATCH] Use function pointer for call_history --- fakegen.rb | 5 +++-- fff.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fakegen.rb b/fakegen.rb index 2b1f842..79169b5 100644 --- a/fakegen.rb +++ b/fakegen.rb @@ -355,8 +355,9 @@ def output_reset_function(arg_count, is_value_function) end def define_fff_globals + putd "typedef void (*fff_function_t)(void);" putd "typedef struct { " - putd " void * call_history[FFF_CALL_HISTORY_LEN];" + putd " fff_function_t call_history[FFF_CALL_HISTORY_LEN];" putd " unsigned int call_history_idx;" putd "} fff_globals_t;" putd "" @@ -373,7 +374,7 @@ def define_fff_globals putd "" putd "#define REGISTER_CALL(function) \\" putd " if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \\" - putd " fff.call_history[fff.call_history_idx++] = (void *)function;" + putd " fff.call_history[fff.call_history_idx++] = (fff_function_t)function;" end def extern_c diff --git a/fff.h b/fff.h index 85db589..6154ca1 100644 --- a/fff.h +++ b/fff.h @@ -108,8 +108,9 @@ SOFTWARE. } /* -- END INTERNAL HELPER MACROS -- */ +typedef void (*fff_function_t)(void); typedef struct { - void * call_history[FFF_CALL_HISTORY_LEN]; + fff_function_t call_history[FFF_CALL_HISTORY_LEN]; unsigned int call_history_idx; } fff_globals_t; @@ -126,7 +127,7 @@ FFF_END_EXTERN_C \ #define REGISTER_CALL(function) \ if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \ - fff.call_history[fff.call_history_idx++] = (void *)function; + fff.call_history[fff.call_history_idx++] = (fff_function_t)function; #define DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \ FFF_EXTERN_C \