diff --git a/README.md b/README.md
index e38d3df..45a83ed 100644
--- a/README.md
+++ b/README.md
@@ -221,7 +221,6 @@ TEST_F(FFFTestSuite, calls_in_correct_order)
They are reset by calling `FFF_RESET_HISTORY();`
-
## Default Argument History
The framework will by default store the arguments for the last ten calls made
@@ -371,6 +370,44 @@ The fake will call your custom functions in the order specified by the SET_CUSTO
macro. When the last custom fake is reached the fake will keep calling the last custom
fake in the sequence. This macro works much like the SET_RETURN_SEQ macro.
+## Return value history
+Say you have two functions f1 and f2. f2 must be called to release some resource
+allocated by f1, but only in the cases where f1 returns zero. f1 could be
+pthread_mutex_trylock and f2 could be pthread_mutex_unlock. fff will
+save the history of returned values so this can be easily checked, even when
+you use a sequence of custom fakes. Here's a simple example:
+
+ TEST_F(FFFTestSuite, return_value_sequence_saved_in_history)
+ {
+ long myReturnVals[3] = { 3, 7, 9 };
+ SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
+ longfunc0();
+ longfunc0();
+ longfunc0();
+ ASSERT_EQ(myReturnVals[0], longfunc0_fake.return_val_history[0]);
+ ASSERT_EQ(myReturnVals[1], longfunc0_fake.return_val_history[1]);
+ ASSERT_EQ(myReturnVals[2], longfunc0_fake.return_val_history[2]);
+ }
+
+You access the returned values in the return_val_history field.
+
+## Variadic Functions
+
+You can fake variadic functions using the macros FAKE_VALUE_FUNC_VARARG
+and FAKE_VOID_FUNC_VARARG. For instance:
+
+ FAKE_VALUE_FUNC_VARARG(int, fprintf, FILE *, const char*, ...);
+
+In order to access the variadic parameters from a custom fake function, declare a
+va_list parameter. For instance, a custom fake for fprintf()
+could call the real fprintf() like this:
+
+ int fprintf_custom(FILE *stream, const char *format, va_list ap) {
+ if (fprintf0_fake.return_val < 0) // should we fail?
+ return fprintf0_fake.return_val;
+ return vfprintf(stream, format, ap);
+ }
+
## How do I fake a function that returns a value by reference?
The basic mechanism that FFF provides you in this case is the custom_fake field described in the *Custom Return Value Delegate* example above.
diff --git a/fakegen.rb b/fakegen.rb
index 59d4ea2..e21387f 100644
--- a/fakegen.rb
+++ b/fakegen.rb
@@ -11,16 +11,20 @@ $MAX_CALL_HISTORY = 50
def include_dependencies
putd "#include "
putd "#include /* For memset and memcpy */"
- putd ""
+ puts
end
def output_constants
putd "#define FFF_MAX_ARGS (#{$MAX_ARGS}u)"
putd "#ifndef FFF_ARG_HISTORY_LEN"
- putd " #define FFF_ARG_HISTORY_LEN (#{$DEFAULT_ARG_HISTORY}u)"
+ indent {
+ putd "#define FFF_ARG_HISTORY_LEN (#{$DEFAULT_ARG_HISTORY}u)"
+ }
putd "#endif"
putd "#ifndef FFF_CALL_HISTORY_LEN"
- putd " #define FFF_CALL_HISTORY_LEN (#{$MAX_CALL_HISTORY}u)"
+ indent {
+ putd "#define FFF_CALL_HISTORY_LEN (#{$MAX_CALL_HISTORY}u)"
+ }
putd "#endif"
end
@@ -37,8 +41,10 @@ def output_internal_helper_macros
define_reset_fake_macro
define_declare_arg_helper
define_declare_all_func_common_helper
+ define_declare_return_value_history
define_save_arg_helper
define_room_for_more_history
+ define_save_ret_history_helper
define_save_arg_history_helper
define_history_dropped_helper
define_value_function_variables_helper
@@ -49,121 +55,181 @@ def output_internal_helper_macros
define_reset_fake_helper
putd "/* -- END INTERNAL HELPER MACROS -- */"
- putd ""
+ puts
end
def define_return_sequence_helper
- putd "#define SET_RETURN_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \\"
- putd " FUNCNAME##_fake.return_val_seq = ARRAY_POINTER; \\"
- putd " FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN;"
+ putd_backslash "#define SET_RETURN_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN)"
+ indent {
+ putd_backslash "FUNCNAME##_fake.return_val_seq = ARRAY_POINTER;"
+ putd "FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN;"
+ }
end
def define_custom_fake_sequence_helper
- putd "#define SET_CUSTOM_FAKE_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \\"
- putd " FUNCNAME##_fake.custom_fake_seq = ARRAY_POINTER; \\"
- putd " FUNCNAME##_fake.custom_fake_seq_len = ARRAY_LEN;"
+ putd_backslash "#define SET_CUSTOM_FAKE_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN)"
+ indent {
+ putd_backslash "FUNCNAME##_fake.custom_fake_seq = ARRAY_POINTER;"
+ putd "FUNCNAME##_fake.custom_fake_seq_len = ARRAY_LEN;"
+ }
end
def define_reset_fake_macro
- putd ""
+ puts
putd "/* Defining a function to reset a fake function */"
- putd "#define RESET_FAKE(FUNCNAME) { \\"
- putd " FUNCNAME##_reset(); \\"
- putd "} \\"
- putd ""
+ putd_backslash "#define RESET_FAKE(FUNCNAME) {"
+ indent {
+ putd_backslash "FUNCNAME##_reset();"
+ }
+ putd_backslash "}"
+ puts
end
def define_declare_arg_helper
- putd ""
- putd "#define DECLARE_ARG(type, n, FUNCNAME) \\"
- putd " type arg##n##_val; \\"
- putd " type arg##n##_history[FFF_ARG_HISTORY_LEN];"
+ puts
+ putd_backslash "#define DECLARE_ARG(type, n, FUNCNAME)"
+ indent {
+ putd_backslash "type arg##n##_val;"
+ putd "type arg##n##_history[FFF_ARG_HISTORY_LEN];"
+ }
end
def define_declare_all_func_common_helper
+ puts
+ putd_backslash "#define DECLARE_ALL_FUNC_COMMON"
+ indent {
+ putd_backslash "unsigned int call_count;"
+ putd_backslash "unsigned int arg_history_len;"
+ putd_backslash "unsigned int arg_histories_dropped;"
+ }
+end
+
+def define_declare_return_value_history
putd ""
- putd "#define DECLARE_ALL_FUNC_COMMON \\"
- putd " unsigned int call_count; \\"
- putd " unsigned int arg_history_len;\\"
- putd " unsigned int arg_histories_dropped; \\"
+ putd_backslash "#define DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE)"
+ indent {
+ putd "RETURN_TYPE return_val_history[FFF_ARG_HISTORY_LEN];"
+ }
end
def define_save_arg_helper
+ puts
+ putd_backslash "#define SAVE_ARG(FUNCNAME, n)"
+ indent {
+ putd "memcpy((void*)&FUNCNAME##_fake.arg##n##_val, (void*)&arg##n, sizeof(arg##n));"
+ }
+end
+
+def define_save_ret_history_helper
putd ""
- putd "#define SAVE_ARG(FUNCNAME, n) \\"
- putd " memcpy((void*)&FUNCNAME##_fake.arg##n##_val, (void*)&arg##n, sizeof(arg##n));"
+ putd_backslash "#define SAVE_RET_HISTORY(FUNCNAME, RETVAL)"
+ indent {
+ putd_backslash "if ((FUNCNAME##_fake.call_count - 1) < FFF_ARG_HISTORY_LEN)"
+ indent {
+ putd_backslash "memcpy((void *)&FUNCNAME##_fake.return_val_history[FUNCNAME##_fake.call_count - 1], (const void *) &RETVAL, sizeof(RETVAL));"
+ }
+ }
end
def define_room_for_more_history
- putd ""
- putd "#define ROOM_FOR_MORE_HISTORY(FUNCNAME) \\"
- putd " FUNCNAME##_fake.call_count < FFF_ARG_HISTORY_LEN"
+ puts
+ putd_backslash "#define ROOM_FOR_MORE_HISTORY(FUNCNAME)"
+ indent {
+ putd "FUNCNAME##_fake.call_count < FFF_ARG_HISTORY_LEN"
+ }
end
def define_save_arg_history_helper
- putd ""
- putd "#define SAVE_ARG_HISTORY(FUNCNAME, ARGN) \\"
- putd " memcpy((void*)&FUNCNAME##_fake.arg##ARGN##_history[FUNCNAME##_fake.call_count], (void*)&arg##ARGN, sizeof(arg##ARGN));"
+ puts
+ putd_backslash "#define SAVE_ARG_HISTORY(FUNCNAME, ARGN)"
+ indent {
+ putd "memcpy((void*)&FUNCNAME##_fake.arg##ARGN##_history[FUNCNAME##_fake.call_count], (void*)&arg##ARGN, sizeof(arg##ARGN));"
+ }
end
def define_history_dropped_helper
- putd ""
- putd "#define HISTORY_DROPPED(FUNCNAME) \\"
- putd " FUNCNAME##_fake.arg_histories_dropped++"
+ puts
+ putd_backslash "#define HISTORY_DROPPED(FUNCNAME)"
+ indent {
+ putd "FUNCNAME##_fake.arg_histories_dropped++"
+ }
end
def define_value_function_variables_helper
- putd ""
- putd "#define DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \\"
- putd " RETURN_TYPE return_val; \\"
- putd " int return_val_seq_len; \\"
- putd " int return_val_seq_idx; \\"
- putd " RETURN_TYPE * return_val_seq; \\"
+ puts
+ putd_backslash "#define DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE)"
+ indent {
+ putd_backslash "RETURN_TYPE return_val;"
+ putd_backslash "int return_val_seq_len;"
+ putd_backslash "int return_val_seq_idx;"
+ putd_backslash "RETURN_TYPE * return_val_seq;"
+ }
end
def define_custom_fake_seq_variables_helper
- putd ""
- putd "#define DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \\"
- putd " int custom_fake_seq_len; \\"
- putd " int custom_fake_seq_idx; \\"
+ puts
+ putd_backslash "#define DECLARE_CUSTOM_FAKE_SEQ_VARIABLES"
+ indent {
+ putd_backslash "int custom_fake_seq_len;"
+ putd_backslash "int custom_fake_seq_idx;"
+ }
end
def define_increment_call_count_helper
- putd ""
- putd "#define INCREMENT_CALL_COUNT(FUNCNAME) \\"
- putd " FUNCNAME##_fake.call_count++"
+ puts
+ putd_backslash "#define INCREMENT_CALL_COUNT(FUNCNAME)"
+ indent {
+ putd "FUNCNAME##_fake.call_count++"
+ }
end
def define_return_fake_result_helper
- putd ""
- putd "#define RETURN_FAKE_RESULT(FUNCNAME) \\"
- putd " if (FUNCNAME##_fake.return_val_seq_len){ /* then its a sequence */ \\"
- putd " if(FUNCNAME##_fake.return_val_seq_idx < FUNCNAME##_fake.return_val_seq_len) { \\"
- putd " return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx++]; \\"
- putd " } \\"
- putd " return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]; /* return last element */ \\"
- putd " } \\"
- putd " return FUNCNAME##_fake.return_val; \\"
+ puts
+ putd_backslash "#define RETURN_FAKE_RESULT(FUNCNAME)"
+ indent {
+ putd_backslash "if (FUNCNAME##_fake.return_val_seq_len){ /* then its a sequence */"
+ indent {
+ putd_backslash "if(FUNCNAME##_fake.return_val_seq_idx < FUNCNAME##_fake.return_val_seq_len) {"
+ indent {
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx])"
+ putd_backslash "return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx++];"
+ }
+ putd_backslash "}"
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1])"
+ putd_backslash "return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]; /* return last element */"
+ }
+ putd_backslash "}"
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val)"
+ putd_backslash "return FUNCNAME##_fake.return_val;"
+ }
end
def define_extern_c_helper
- putd ""
+ puts
putd "#ifdef __cplusplus"
- putd " #define FFF_EXTERN_C extern \"C\"{"
- putd " #define FFF_END_EXTERN_C } "
+ indent {
+ putd "#define FFF_EXTERN_C extern \"C\"{"
+ putd "#define FFF_END_EXTERN_C } "
+ }
putd "#else /* ansi c */"
- putd " #define FFF_EXTERN_C "
- putd " #define FFF_END_EXTERN_C "
+ indent {
+ putd "#define FFF_EXTERN_C "
+ putd "#define FFF_END_EXTERN_C "
+ }
putd "#endif /* cpp/ansi c */"
end
def define_reset_fake_helper
- putd ""
- putd "#define DEFINE_RESET_FUNCTION(FUNCNAME) \\"
- putd " void FUNCNAME##_reset(void){ \\"
- putd " memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \\"
- putd " FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\\"
- putd " }"
+ puts
+ putd_backslash "#define DEFINE_RESET_FUNCTION(FUNCNAME)"
+ indent {
+ putd_backslash "void FUNCNAME##_reset(void){"
+ indent {
+ putd_backslash "memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake));"
+ putd_backslash "FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;"
+ }
+ putd "}"
+ }
end
# ------ End Helper macros ------ #
@@ -174,6 +240,11 @@ def putd(str)
puts str
end
+#multiline putd which adds a \ at the end of the generated macro
+def putd_backslash str
+ putd(str + " \\")
+end
+
def pushd
$current_depth = $current_depth + 4
end
@@ -182,6 +253,12 @@ def popd
$current_depth = $current_depth - 4
end
+def indent
+ pushd
+ yield
+ popd
+end
+
def output_macro(arg_count, has_varargs, is_value_function)
vararg_name = has_varargs ? "_VARARG" : ""
@@ -191,36 +268,36 @@ def output_macro(arg_count, has_varargs, is_value_function)
saved_arg_count = arg_count - (has_varargs ? 1 : 0)
return_type = is_value_function ? "RETURN_TYPE" : ""
- putd ""
+ puts
output_macro_header(declare_macro_name, saved_arg_count, has_varargs, return_type)
- pushd
+ indent {
extern_c { # define argument capture variables
output_variables(saved_arg_count, has_varargs, is_value_function)
}
- popd
-
- putd ""
+ }
+
+ puts
output_macro_header(define_macro_name, saved_arg_count, has_varargs, return_type)
- pushd
+ indent {
extern_c {
- putd "FUNCNAME##_Fake FUNCNAME##_fake;\\"
- putd function_signature(saved_arg_count, has_varargs, is_value_function) + "{ \\"
- pushd
+ putd_backslash "FUNCNAME##_Fake FUNCNAME##_fake;"
+ putd_backslash function_signature(saved_arg_count, has_varargs, is_value_function) + "{"
+ indent {
output_function_body(saved_arg_count, has_varargs, is_value_function)
- popd
- putd "} \\"
- putd "DEFINE_RESET_FUNCTION(FUNCNAME) \\"
+ }
+ putd_backslash "}"
+ putd_backslash "DEFINE_RESET_FUNCTION(FUNCNAME)"
}
- popd
-
- putd ""
-
+ }
+
+ puts
+
output_macro_header(fake_macro_name, saved_arg_count, has_varargs, return_type)
- pushd
+ indent {
putd macro_signature_for(declare_macro_name, saved_arg_count, has_varargs, return_type)
putd macro_signature_for(define_macro_name, saved_arg_count, has_varargs, return_type)
- putd ""
- popd
+ puts
+ }
end
def output_macro_header(macro_name, arg_count, has_varargs, return_type)
@@ -232,7 +309,7 @@ def output_macro_name(macro_name, arg_count, has_varargs, return_type)
putd "#define " + macro_signature_for(macro_name, arg_count, has_varargs, return_type)
end
-# #macro_name(RETURN_TYPE, FUNCNAME, ARG0,...)
+# #macro_name(RETURN_TYPE, FUNCNAME, ARG0,...) \
def macro_signature_for(macro_name, arg_count, has_varargs, return_type)
parameter_list = "#{macro_name}("
if return_type != ""
@@ -250,23 +327,21 @@ def macro_signature_for(macro_name, arg_count, has_varargs, return_type)
parameter_list
end
-def output_argument_capture_variables(argN)
- putd " DECLARE_ARG(ARG#{argN}_TYPE, #{argN}, FUNCNAME) \\"
-end
-
def output_variables(arg_count, has_varargs, is_value_function)
in_struct{
- arg_count.times { |argN|
- putd "DECLARE_ARG(ARG#{argN}_TYPE, #{argN}, FUNCNAME) \\"
+ arg_count.times { |argN|
+ putd_backslash "DECLARE_ARG(ARG#{argN}_TYPE, #{argN}, FUNCNAME)"
}
- putd "DECLARE_ALL_FUNC_COMMON \\"
- putd "DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \\" unless not is_value_function
- putd "DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \\"
+ putd_backslash "DECLARE_ALL_FUNC_COMMON"
+ putd_backslash "DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE)" unless not is_value_function
+ putd_backslash "DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE)" unless not is_value_function
+ putd_backslash "DECLARE_CUSTOM_FAKE_SEQ_VARIABLES"
output_custom_function_signature(arg_count, has_varargs, is_value_function)
output_custom_function_array(arg_count, has_varargs, is_value_function)
}
- putd "extern FUNCNAME##_Fake FUNCNAME##_fake;\\"
- putd "void FUNCNAME##_reset(void); \\"
+ putd_backslash "extern FUNCNAME##_Fake FUNCNAME##_fake;"
+ putd_backslash "void FUNCNAME##_reset(void);"
+ putd_backslash function_signature(arg_count, has_varargs, is_value_function) + ";"
end
#example: ARG0_TYPE arg0, ARG1_TYPE arg1
@@ -289,15 +364,15 @@ end
def output_custom_function_signature(arg_count, has_varargs, is_value_function)
return_type = is_value_function ? "RETURN_TYPE" : "void"
ap_list = has_varargs ? ", va_list ap" : ""
- signature = "(*custom_fake)(#{arg_val_list(arg_count)}#{ap_list}); \\"
- putd return_type + signature
+ signature = "(*custom_fake)(#{arg_val_list(arg_count)}#{ap_list});"
+ putd_backslash return_type + signature
end
def output_custom_function_array(arg_count, has_varargs, is_value_function)
return_type = is_value_function ? "RETURN_TYPE" : "void"
ap_list = has_varargs ? ", va_list ap" : ""
- custom_array = "(**custom_fake_seq)(#{arg_val_list(arg_count)}#{ap_list}); \\"
- putd return_type + custom_array
+ custom_array = "(**custom_fake_seq)(#{arg_val_list(arg_count)}#{ap_list});"
+ putd_backslash return_type + custom_array
end
# example: RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1)
@@ -308,100 +383,124 @@ def function_signature(arg_count, has_varargs, is_value_function)
end
def output_function_body(arg_count, has_varargs, is_value_function)
- arg_count.times { |i| putd "SAVE_ARG(FUNCNAME, #{i}); \\" }
- putd "if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\\"
- arg_count.times { |i| putd " SAVE_ARG_HISTORY(FUNCNAME, #{i}); \\" }
- putd "}\\"
- putd "else{\\"
- putd " HISTORY_DROPPED(FUNCNAME);\\"
- putd "}\\"
- putd "INCREMENT_CALL_COUNT(FUNCNAME); \\"
- putd "REGISTER_CALL(FUNCNAME); \\"
+ arg_count.times { |i| putd_backslash "SAVE_ARG(FUNCNAME, #{i});" }
+ putd_backslash "if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){"
+ indent {
+ arg_count.times { |i| putd_backslash "SAVE_ARG_HISTORY(FUNCNAME, #{i});" }
+ }
+ putd_backslash "}"
+ putd_backslash "else{"
+ indent {
+ putd_backslash "HISTORY_DROPPED(FUNCNAME);"
+ }
+ putd_backslash "}"
+ putd_backslash "INCREMENT_CALL_COUNT(FUNCNAME);"
+ putd_backslash "REGISTER_CALL(FUNCNAME);"
if has_varargs
- putd "if(FUNCNAME##_fake.custom_fake){\\"
- putd " RETURN_TYPE ret;\\" if is_value_function
- putd " va_list ap;\\"
- putd " va_start(ap, arg#{arg_count-1});\\"
+ putd_backslash "if(FUNCNAME##_fake.custom_fake){"
+ indent {
+ putd_backslash "RETURN_TYPE ret;" if is_value_function
+ putd_backslash "va_list ap;"
+ putd_backslash "va_start(ap, arg#{arg_count-1});"
+ }
custom_fake_call = "FUNCNAME##_fake.custom_fake(#{arg_list(arg_count)}, ap);"
- if is_value_function
- putd " ret = #{custom_fake_call}\\"
- else
- putd " #{custom_fake_call}\\"
- end
- putd " va_end(ap);\\"
- putd " return ret;\\" if is_value_function
- putd "}\\"
+ indent {
+ if is_value_function
+ putd_backslash "ret = #{custom_fake_call}"
+ else
+ putd_backslash "#{custom_fake_call}"
+ end
+ putd_backslash "va_end(ap);"
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, ret);" unless not is_value_function
+ putd_backslash "return ret;" if is_value_function
+ }
+ putd_backslash "}"
else
return_type = is_value_function ? "return " : ""
- putd "if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \\"
- putd " if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \\"
- putd " #{return_type}FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](#{arg_list(arg_count)}); \\"
- putd " } \\"
- putd " else{ \\"
- putd " #{return_type}FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](#{arg_list(arg_count)}); \\"
- putd " } \\"
- putd "} \\"
- putd "if (FUNCNAME##_fake.custom_fake) #{return_type}FUNCNAME##_fake.custom_fake(#{arg_list(arg_count)}); \\"
+ putd_backslash "if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */"
+ indent {
+ putd_backslash "if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){"
+ indent {
+ putd_backslash "RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](#{arg_list(arg_count)});" unless not is_value_function
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, ret);" unless not is_value_function
+ putd_backslash "return ret;" unless not is_value_function
+ putd_backslash "#{return_type}FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](#{arg_list(arg_count)});" unless is_value_function
+ }
+ putd_backslash "}"
+ putd_backslash "else{"
+ indent {
+ putd_backslash "RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](#{arg_list(arg_count)});" unless not is_value_function
+ putd_backslash "SAVE_RET_HISTORY(FUNCNAME, ret);" unless not is_value_function
+ putd_backslash "return ret;" unless not is_value_function
+ putd_backslash "#{return_type}FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](#{arg_list(arg_count)});"
+ }
+ putd_backslash "}"
+ }
+ putd_backslash "}"
+ putd_backslash "if (FUNCNAME##_fake.custom_fake) #{return_type}FUNCNAME##_fake.custom_fake(#{arg_list(arg_count)});"
end
- putd "RETURN_FAKE_RESULT(FUNCNAME) \\" if is_value_function
-end
-
-def output_reset_function(arg_count, is_value_function)
- putd "void FUNCNAME##_reset(void){ \\"
- putd " memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \\"
- putd " FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\\"
- putd "} \\"
+ putd_backslash "RETURN_FAKE_RESULT(FUNCNAME)" if is_value_function
end
def define_fff_globals
putd "typedef void (*fff_function_t)(void);"
putd "typedef struct { "
- putd " fff_function_t call_history[FFF_CALL_HISTORY_LEN];"
- putd " unsigned int call_history_idx;"
+ indent {
+ putd "fff_function_t call_history[FFF_CALL_HISTORY_LEN];"
+ putd "unsigned int call_history_idx;"
+ }
putd "} fff_globals_t;"
- putd ""
- putd "FFF_EXTERN_C \\"
+ puts
+ putd_backslash "FFF_EXTERN_C"
putd "extern fff_globals_t fff;"
- putd "FFF_END_EXTERN_C \\"
- putd ""
- putd "#define DEFINE_FFF_GLOBALS \\"
- putd " FFF_EXTERN_C \\"
- putd " fff_globals_t fff; \\"
- putd " FFF_END_EXTERN_C"
- putd ""
+ putd_backslash "FFF_END_EXTERN_C"
+ puts
+ putd_backslash "#define DEFINE_FFF_GLOBALS"
+ indent {
+ putd_backslash "FFF_EXTERN_C"
+ indent {
+ putd_backslash "fff_globals_t fff;"
+ }
+ putd "FFF_END_EXTERN_C"
+ }
+ puts
putd "#define FFF_RESET_HISTORY() fff.call_history_idx = 0;"
- putd ""
- putd "#define REGISTER_CALL(function) \\"
- putd " if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \\"
- putd " fff.call_history[fff.call_history_idx++] = (fff_function_t)function;"
+ puts
+ putd_backslash "#define REGISTER_CALL(function)"
+ indent {
+ putd_backslash "if(fff.call_history_idx < FFF_CALL_HISTORY_LEN)"
+ indent {
+ putd "fff.call_history[fff.call_history_idx++] = (fff_function_t)function;"
+ }
+ }
end
def extern_c
- putd "FFF_EXTERN_C \\"
- pushd
+ putd_backslash "FFF_EXTERN_C"
+ indent {
yield
- popd
- putd "FFF_END_EXTERN_C \\"
+ }
+ putd_backslash "FFF_END_EXTERN_C"
end
def in_struct
- putd "typedef struct FUNCNAME##_Fake { \\"
- pushd
- yield
- popd
- putd "} FUNCNAME##_Fake;\\"
+ putd_backslash "typedef struct FUNCNAME##_Fake {"
+ indent {
+ yield
+ }
+ putd_backslash "} FUNCNAME##_Fake;"
end
def include_guard
putd "#ifndef FAKE_FUNCTIONS"
putd "#define FAKE_FUNCTIONS"
- putd ""
+ puts
yield
- putd ""
+ puts
putd "#endif /* FAKE_FUNCTIONS */"
end
diff --git a/fff.h b/fff.h
index 7ab1a2a..b59373a 100644
--- a/fff.h
+++ b/fff.h
@@ -39,15 +39,15 @@ SOFTWARE.
#define FFF_ARG_HISTORY_LEN (50u)
#endif
#ifndef FFF_CALL_HISTORY_LEN
- #define FFF_CALL_HISTORY_LEN (50u)
+ #define FFF_CALL_HISTORY_LEN (50u)
#endif
/* -- INTERNAL HELPER MACROS -- */
#define SET_RETURN_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \
- FUNCNAME##_fake.return_val_seq = ARRAY_POINTER; \
- FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN;
+ FUNCNAME##_fake.return_val_seq = ARRAY_POINTER; \
+ FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN;
#define SET_CUSTOM_FAKE_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \
- FUNCNAME##_fake.custom_fake_seq = ARRAY_POINTER; \
- FUNCNAME##_fake.custom_fake_seq_len = ARRAY_LEN;
+ FUNCNAME##_fake.custom_fake_seq = ARRAY_POINTER; \
+ FUNCNAME##_fake.custom_fake_seq_len = ARRAY_LEN;
/* Defining a function to reset a fake function */
#define RESET_FAKE(FUNCNAME) { \
@@ -61,14 +61,21 @@ SOFTWARE.
#define DECLARE_ALL_FUNC_COMMON \
unsigned int call_count; \
- unsigned int arg_history_len;\
+ unsigned int arg_history_len; \
unsigned int arg_histories_dropped; \
+#define DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
+ RETURN_TYPE return_val_history[FFF_ARG_HISTORY_LEN];
+
#define SAVE_ARG(FUNCNAME, n) \
memcpy((void*)&FUNCNAME##_fake.arg##n##_val, (void*)&arg##n, sizeof(arg##n));
#define ROOM_FOR_MORE_HISTORY(FUNCNAME) \
- FUNCNAME##_fake.call_count < FFF_ARG_HISTORY_LEN
+ FUNCNAME##_fake.call_count < FFF_ARG_HISTORY_LEN
+
+#define SAVE_RET_HISTORY(FUNCNAME, RETVAL) \
+ if ((FUNCNAME##_fake.call_count - 1) < FFF_ARG_HISTORY_LEN) \
+ memcpy((void *)&FUNCNAME##_fake.return_val_history[FUNCNAME##_fake.call_count - 1], (const void *) &RETVAL, sizeof(RETVAL)); \
#define SAVE_ARG_HISTORY(FUNCNAME, ARGN) \
memcpy((void*)&FUNCNAME##_fake.arg##ARGN##_history[FUNCNAME##_fake.call_count], (void*)&arg##ARGN, sizeof(arg##ARGN));
@@ -92,29 +99,32 @@ SOFTWARE.
#define RETURN_FAKE_RESULT(FUNCNAME) \
if (FUNCNAME##_fake.return_val_seq_len){ /* then its a sequence */ \
if(FUNCNAME##_fake.return_val_seq_idx < FUNCNAME##_fake.return_val_seq_len) { \
+ SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx]) \
return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx++]; \
} \
+ SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]) \
return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]; /* return last element */ \
} \
+ SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val) \
return FUNCNAME##_fake.return_val; \
#ifdef __cplusplus
#define FFF_EXTERN_C extern "C"{
- #define FFF_END_EXTERN_C }
+ #define FFF_END_EXTERN_C }
#else /* ansi c */
- #define FFF_EXTERN_C
- #define FFF_END_EXTERN_C
+ #define FFF_EXTERN_C
+ #define FFF_END_EXTERN_C
#endif /* cpp/ansi c */
#define DEFINE_RESET_FUNCTION(FUNCNAME) \
void FUNCNAME##_reset(void){ \
memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \
- FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\
+ FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN; \
}
/* -- END INTERNAL HELPER MACROS -- */
typedef void (*fff_function_t)(void);
-typedef struct {
+typedef struct {
fff_function_t call_history[FFF_CALL_HISTORY_LEN];
unsigned int call_history_idx;
} fff_globals_t;
@@ -131,8 +141,8 @@ FFF_END_EXTERN_C \
#define FFF_RESET_HISTORY() fff.call_history_idx = 0;
#define REGISTER_CALL(function) \
- if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \
- fff.call_history[fff.call_history_idx++] = (fff_function_t)function;
+ if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \
+ fff.call_history[fff.call_history_idx++] = (fff_function_t)function;
#define DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \
FFF_EXTERN_C \
@@ -141,20 +151,21 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(void); \
void(**custom_fake_seq)(void); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(void); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC0(FUNCNAME) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(void){ \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -173,7 +184,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC0(FUNCNAME) \
DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \
DEFINE_FAKE_VOID_FUNC0(FUNCNAME) \
-
+
#define DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \
FFF_EXTERN_C \
@@ -183,22 +194,23 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0); \
void(**custom_fake_seq)(ARG0_TYPE arg0); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0){ \
SAVE_ARG(FUNCNAME, 0); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -217,7 +229,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \
DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \
DEFINE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
FFF_EXTERN_C \
@@ -228,24 +240,25 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -264,7 +277,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
DEFINE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
FFF_EXTERN_C \
@@ -276,26 +289,27 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -314,7 +328,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
DEFINE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
FFF_EXTERN_C \
@@ -327,28 +341,29 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -367,7 +382,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
DEFINE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
FFF_EXTERN_C \
@@ -381,30 +396,31 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -423,7 +439,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
DEFINE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
FFF_EXTERN_C \
@@ -438,14 +454,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -453,17 +470,17 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -482,7 +499,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
DEFINE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
FFF_EXTERN_C \
@@ -498,14 +515,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -514,7 +532,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -522,10 +540,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -544,7 +562,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
DEFINE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
FFF_EXTERN_C \
@@ -561,14 +579,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -578,7 +597,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -587,10 +606,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -609,7 +628,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
DEFINE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
FFF_EXTERN_C \
@@ -627,14 +646,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -645,7 +665,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -655,10 +675,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -677,7 +697,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
DEFINE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
FFF_EXTERN_C \
@@ -696,14 +716,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -715,7 +736,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -726,10 +747,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -748,7 +769,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
DEFINE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
FFF_EXTERN_C \
@@ -768,14 +789,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -788,7 +810,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -800,10 +822,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -822,7 +844,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
DEFINE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
FFF_EXTERN_C \
@@ -843,14 +865,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -864,7 +887,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -877,10 +900,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -899,7 +922,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
DEFINE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
FFF_EXTERN_C \
@@ -921,14 +944,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -943,7 +967,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -957,10 +981,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -979,7 +1003,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
DEFINE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
FFF_EXTERN_C \
@@ -1002,14 +1026,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1025,7 +1050,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1040,10 +1065,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1062,7 +1087,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
DEFINE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
FFF_EXTERN_C \
@@ -1086,14 +1111,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1110,7 +1136,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1126,10 +1152,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1148,7 +1174,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
DEFINE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
FFF_EXTERN_C \
@@ -1173,14 +1199,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1198,7 +1225,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1215,10 +1242,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1237,7 +1264,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
DEFINE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
FFF_EXTERN_C \
@@ -1263,14 +1290,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1289,7 +1317,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1307,10 +1335,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1329,7 +1357,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
DEFINE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
FFF_EXTERN_C \
@@ -1356,14 +1384,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1383,7 +1412,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1402,10 +1431,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1424,7 +1453,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
DEFINE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
FFF_EXTERN_C \
@@ -1452,14 +1481,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1480,7 +1510,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1500,10 +1530,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1522,7 +1552,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
DEFINE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
FFF_EXTERN_C \
@@ -1551,14 +1581,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1580,7 +1611,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
SAVE_ARG(FUNCNAME, 19); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -1601,10 +1632,10 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
SAVE_ARG_HISTORY(FUNCNAME, 19); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
@@ -1623,42 +1654,49 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
DEFINE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \
FFF_EXTERN_C \
typedef struct FUNCNAME##_Fake { \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(void); \
RETURN_TYPE(**custom_fake_seq)(void); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(void); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(void){ \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1666,7 +1704,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \
DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \
DEFINE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \
-
+
#define DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \
FFF_EXTERN_C \
@@ -1674,37 +1712,44 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \
SAVE_ARG(FUNCNAME, 0); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1712,7 +1757,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \
DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \
DEFINE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
FFF_EXTERN_C \
@@ -1721,39 +1766,46 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1761,7 +1813,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
DEFINE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
FFF_EXTERN_C \
@@ -1771,41 +1823,48 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1813,7 +1872,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
DEFINE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
FFF_EXTERN_C \
@@ -1824,43 +1883,50 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1868,7 +1934,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
DEFINE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
FFF_EXTERN_C \
@@ -1880,45 +1946,52 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1926,7 +1999,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
DEFINE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
FFF_EXTERN_C \
@@ -1939,17 +2012,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -1957,29 +2032,34 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -1987,7 +2067,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
DEFINE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
FFF_EXTERN_C \
@@ -2001,17 +2081,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2020,7 +2102,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2028,22 +2110,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2051,7 +2138,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
DEFINE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
FFF_EXTERN_C \
@@ -2066,17 +2153,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2086,7 +2175,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2095,22 +2184,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2118,7 +2212,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
DEFINE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
FFF_EXTERN_C \
@@ -2134,17 +2228,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2155,7 +2251,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2165,22 +2261,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2188,7 +2289,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
DEFINE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
FFF_EXTERN_C \
@@ -2205,17 +2306,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2227,7 +2330,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2238,22 +2341,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2261,7 +2369,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
DEFINE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
FFF_EXTERN_C \
@@ -2279,17 +2387,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2302,7 +2412,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2314,22 +2424,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2337,7 +2452,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
DEFINE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
FFF_EXTERN_C \
@@ -2356,17 +2471,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2380,7 +2497,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2393,22 +2510,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2416,7 +2538,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
DEFINE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
FFF_EXTERN_C \
@@ -2436,17 +2558,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2461,7 +2585,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2475,22 +2599,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2498,7 +2627,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
DEFINE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
FFF_EXTERN_C \
@@ -2519,17 +2648,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2545,7 +2676,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2560,22 +2691,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2583,7 +2719,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
DEFINE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
FFF_EXTERN_C \
@@ -2605,17 +2741,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2632,7 +2770,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2648,22 +2786,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2671,7 +2814,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
DEFINE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
FFF_EXTERN_C \
@@ -2694,17 +2837,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2722,7 +2867,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2739,22 +2884,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2762,7 +2912,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
DEFINE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
FFF_EXTERN_C \
@@ -2786,17 +2936,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2815,7 +2967,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2833,22 +2985,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2856,7 +3013,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
DEFINE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
FFF_EXTERN_C \
@@ -2881,17 +3038,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -2911,7 +3070,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -2930,22 +3089,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -2953,7 +3117,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
DEFINE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
FFF_EXTERN_C \
@@ -2979,17 +3143,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3010,7 +3176,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3030,22 +3196,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3053,7 +3224,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
DEFINE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \
-
+
#define DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
FFF_EXTERN_C \
@@ -3080,17 +3251,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG19_TYPE, 19, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3112,7 +3285,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
SAVE_ARG(FUNCNAME, 19); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3133,22 +3306,27 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
SAVE_ARG_HISTORY(FUNCNAME, 19); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \
if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \
- return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
} \
else{ \
+ RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \
} \
} \
if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \
- RETURN_FAKE_RESULT(FUNCNAME) \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3156,7 +3334,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
DEFINE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \
-
+
#define DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \
FFF_EXTERN_C \
@@ -3166,30 +3344,31 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ...){ \
SAVE_ARG(FUNCNAME, 0); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg0);\
- FUNCNAME##_fake.custom_fake(arg0, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg0); \
+ FUNCNAME##_fake.custom_fake(arg0, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3197,7 +3376,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
FFF_EXTERN_C \
@@ -3208,32 +3387,33 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg1);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg1); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3241,7 +3421,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
FFF_EXTERN_C \
@@ -3253,34 +3433,35 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg2);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg2); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3288,7 +3469,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
FFF_EXTERN_C \
@@ -3301,36 +3482,37 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg3);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg3); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3338,7 +3520,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
FFF_EXTERN_C \
@@ -3352,38 +3534,39 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg4);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg4); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3391,7 +3574,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
FFF_EXTERN_C \
@@ -3406,14 +3589,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3421,25 +3605,25 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg5);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg5); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3447,7 +3631,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
FFF_EXTERN_C \
@@ -3463,14 +3647,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3479,7 +3664,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3487,18 +3672,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg6);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg6); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3506,7 +3691,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
FFF_EXTERN_C \
@@ -3523,14 +3708,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3540,7 +3726,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3549,18 +3735,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg7);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg7); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3568,7 +3754,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
FFF_EXTERN_C \
@@ -3586,14 +3772,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3604,7 +3791,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3614,18 +3801,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg8);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg8); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3633,7 +3820,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
FFF_EXTERN_C \
@@ -3652,14 +3839,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3671,7 +3859,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3682,18 +3870,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg9);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg9); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3701,7 +3889,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
FFF_EXTERN_C \
@@ -3721,14 +3909,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3741,7 +3930,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3753,18 +3942,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg10);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg10); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3772,7 +3961,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
FFF_EXTERN_C \
@@ -3793,14 +3982,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3814,7 +4004,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3827,18 +4017,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg11);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg11); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3846,7 +4036,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
FFF_EXTERN_C \
@@ -3868,14 +4058,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3890,7 +4081,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3904,18 +4095,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg12);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg12); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -3923,7 +4114,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
FFF_EXTERN_C \
@@ -3946,14 +4137,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -3969,7 +4161,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -3984,18 +4176,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg13);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg13); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4003,7 +4195,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
FFF_EXTERN_C \
@@ -4027,14 +4219,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4051,7 +4244,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4067,18 +4260,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg14);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg14); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4086,7 +4279,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
FFF_EXTERN_C \
@@ -4111,14 +4304,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4136,7 +4330,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4153,18 +4347,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg15);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg15); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4172,7 +4366,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
FFF_EXTERN_C \
@@ -4198,14 +4392,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4224,7 +4419,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4242,18 +4437,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg16);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg16); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4261,7 +4456,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
FFF_EXTERN_C \
@@ -4288,14 +4483,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4315,7 +4511,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4334,18 +4530,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg17);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg17); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4353,7 +4549,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
-
+
#define DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
FFF_EXTERN_C \
@@ -4381,14 +4577,15 @@ FFF_END_EXTERN_C \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \
void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4409,7 +4606,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4429,18 +4626,18 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- va_list ap;\
- va_start(ap, arg18);\
- FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap);\
- va_end(ap);\
- }\
+ if(FUNCNAME##_fake.custom_fake){ \
+ va_list ap; \
+ va_start(ap, arg18); \
+ FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap); \
+ va_end(ap); \
+ } \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4448,7 +4645,7 @@ FFF_END_EXTERN_C \
#define FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
DEFINE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \
FFF_EXTERN_C \
@@ -4456,36 +4653,39 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ...){ \
SAVE_ARG(FUNCNAME, 0); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg0);\
- ret = FUNCNAME##_fake.custom_fake(arg0, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg0); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4493,7 +4693,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
FFF_EXTERN_C \
@@ -4502,38 +4702,41 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg1);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg1); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4541,7 +4744,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
FFF_EXTERN_C \
@@ -4551,40 +4754,43 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg2);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg2); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4592,7 +4798,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
FFF_EXTERN_C \
@@ -4603,42 +4809,45 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg3);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg3); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4646,7 +4855,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
FFF_EXTERN_C \
@@ -4658,44 +4867,47 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
SAVE_ARG(FUNCNAME, 2); \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg4);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg4); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4703,7 +4915,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
FFF_EXTERN_C \
@@ -4716,17 +4928,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4734,28 +4948,29 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 3); \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
SAVE_ARG_HISTORY(FUNCNAME, 3); \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg5);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg5); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4763,7 +4978,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
FFF_EXTERN_C \
@@ -4777,17 +4992,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4796,7 +5013,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 4); \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4804,21 +5021,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 4); \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg6);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg6); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4826,7 +5044,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
FFF_EXTERN_C \
@@ -4841,17 +5059,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4861,7 +5081,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 5); \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4870,21 +5090,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 5); \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg7);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg7); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4892,7 +5113,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
FFF_EXTERN_C \
@@ -4908,17 +5129,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -4929,7 +5152,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 6); \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -4939,21 +5162,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 6); \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg8);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg8); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -4961,7 +5185,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
FFF_EXTERN_C \
@@ -4978,17 +5202,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5000,7 +5226,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 7); \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5011,21 +5237,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 7); \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg9);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg9); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5033,7 +5260,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
FFF_EXTERN_C \
@@ -5051,17 +5278,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5074,7 +5303,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 8); \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5086,21 +5315,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 8); \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg10);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg10); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5108,7 +5338,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
FFF_EXTERN_C \
@@ -5127,17 +5357,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5151,7 +5383,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 9); \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5164,21 +5396,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 9); \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg11);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg11); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5186,7 +5419,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
FFF_EXTERN_C \
@@ -5206,17 +5439,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5231,7 +5466,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 10); \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5245,21 +5480,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 10); \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg12);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg12); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5267,7 +5503,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
FFF_EXTERN_C \
@@ -5288,17 +5524,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5314,7 +5552,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 11); \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5329,21 +5567,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 11); \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg13);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg13); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5351,7 +5590,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
FFF_EXTERN_C \
@@ -5373,17 +5612,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5400,7 +5641,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 12); \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5416,21 +5657,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 12); \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg14);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg14); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5438,7 +5680,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
FFF_EXTERN_C \
@@ -5461,17 +5703,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5489,7 +5733,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 13); \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5506,21 +5750,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 13); \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg15);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg15); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5528,7 +5773,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
FFF_EXTERN_C \
@@ -5552,17 +5797,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5581,7 +5828,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 14); \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5599,21 +5846,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 14); \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg16);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg16); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5621,7 +5869,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
FFF_EXTERN_C \
@@ -5646,17 +5894,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5676,7 +5926,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 15); \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5695,21 +5945,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 15); \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg17);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg17); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5717,7 +5968,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \
-
+
#define DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
FFF_EXTERN_C \
@@ -5743,17 +5994,19 @@ FFF_END_EXTERN_C \
DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \
DECLARE_ALL_FUNC_COMMON \
DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \
+ DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \
DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \
RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \
RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \
- } FUNCNAME##_Fake;\
- extern FUNCNAME##_Fake FUNCNAME##_fake;\
+ } FUNCNAME##_Fake; \
+ extern FUNCNAME##_Fake FUNCNAME##_fake; \
void FUNCNAME##_reset(void); \
+ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...); \
FFF_END_EXTERN_C \
#define DEFINE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
FFF_EXTERN_C \
- FUNCNAME##_Fake FUNCNAME##_fake;\
+ FUNCNAME##_Fake FUNCNAME##_fake; \
RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...){ \
SAVE_ARG(FUNCNAME, 0); \
SAVE_ARG(FUNCNAME, 1); \
@@ -5774,7 +6027,7 @@ FFF_END_EXTERN_C \
SAVE_ARG(FUNCNAME, 16); \
SAVE_ARG(FUNCNAME, 17); \
SAVE_ARG(FUNCNAME, 18); \
- if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){\
+ if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \
SAVE_ARG_HISTORY(FUNCNAME, 0); \
SAVE_ARG_HISTORY(FUNCNAME, 1); \
SAVE_ARG_HISTORY(FUNCNAME, 2); \
@@ -5794,21 +6047,22 @@ FFF_END_EXTERN_C \
SAVE_ARG_HISTORY(FUNCNAME, 16); \
SAVE_ARG_HISTORY(FUNCNAME, 17); \
SAVE_ARG_HISTORY(FUNCNAME, 18); \
- }\
- else{\
- HISTORY_DROPPED(FUNCNAME);\
- }\
+ } \
+ else{ \
+ HISTORY_DROPPED(FUNCNAME); \
+ } \
INCREMENT_CALL_COUNT(FUNCNAME); \
REGISTER_CALL(FUNCNAME); \
- if(FUNCNAME##_fake.custom_fake){\
- RETURN_TYPE ret;\
- va_list ap;\
- va_start(ap, arg18);\
- ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap);\
- va_end(ap);\
- return ret;\
- }\
- RETURN_FAKE_RESULT(FUNCNAME) \
+ if(FUNCNAME##_fake.custom_fake){ \
+ RETURN_TYPE ret; \
+ va_list ap; \
+ va_start(ap, arg18); \
+ ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap); \
+ va_end(ap); \
+ SAVE_RET_HISTORY(FUNCNAME, ret); \
+ return ret; \
+ } \
+ RETURN_FAKE_RESULT(FUNCNAME) \
} \
DEFINE_RESET_FUNCTION(FUNCNAME) \
FFF_END_EXTERN_C \
@@ -5816,7 +6070,7 @@ FFF_END_EXTERN_C \
#define FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
DEFINE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \
-
+
/* MSVC expand macro fix */
#define EXPAND(x) x
diff --git a/test/global_fakes.h b/test/global_fakes.h
index 3d02d52..6c26f07 100644
--- a/test/global_fakes.h
+++ b/test/global_fakes.h
@@ -7,15 +7,6 @@
//// Imaginary production code header file ///
-void voidfunc1(int);
-void voidfunc2(char, char);
-void voidfunc1outparam(char *);
-long longfunc0();
-void voidfunc3var(const char *fmt, int argc, ...);
-int valuefunc3var(const char *fmt, int argc, ...);
-void voidfunc20(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
-int valuefunc20(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
-
enum MYBOOL { FALSE = 899, TRUE };
struct MyStruct {
int x;
@@ -37,7 +28,6 @@ DECLARE_FAKE_VOID_FUNC(voidfunc20, int, int, int, int, int, int, int, int, int,
DECLARE_FAKE_VALUE_FUNC(int, valuefunc20, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
#ifndef __cplusplus
-int strlcpy3(char* const, const char* const, const size_t);
DECLARE_FAKE_VALUE_FUNC(int, strlcpy3, char* const, const char* const, const size_t);
#endif /* __cplusplus */
#endif /* GLOBAL_FAKES_H_ */
diff --git a/test/test_cases.include b/test/test_cases.include
index 9ceed49..de84a5e 100644
--- a/test/test_cases.include
+++ b/test/test_cases.include
@@ -257,6 +257,64 @@ TEST_F(FFFTestSuite, custom_fake_sequence_not_exausthed)
ASSERT_EQ('z', a);
}
+TEST_F(FFFTestSuite, return_value_sequence_saved_in_history)
+{
+ long myReturnVals[3] = { 3, 7, 9 };
+ SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
+ longfunc0();
+ longfunc0();
+ longfunc0();
+ ASSERT_EQ(myReturnVals[0], longfunc0_fake.return_val_history[0]);
+ ASSERT_EQ(myReturnVals[1], longfunc0_fake.return_val_history[1]);
+ ASSERT_EQ(myReturnVals[2], longfunc0_fake.return_val_history[2]);
+}
+
+TEST_F(FFFTestSuite, return_value_saved_in_history)
+{
+ long i;
+
+ for (i = 0; i < FFF_ARG_HISTORY_LEN; i++)
+ {
+ longfunc0_fake.return_val = i + 1;
+ longfunc0();
+ }
+
+ for (i = 0; i < FFF_ARG_HISTORY_LEN; i++)
+ {
+ ASSERT_EQ(longfunc0_fake.return_val_history[i], i + 1);
+ }
+}
+long custom_longfunc1()
+{
+ return 42;
+}
+
+long custom_longfunc2()
+{
+ return 15;
+}
+
+long custom_longfunc3()
+{
+ return 7;
+}
+
+TEST_F(FFFTestSuite, custom_fake_seq_return_values_saved_in_history)
+{
+ long (*custom_fakes[])(void) = {custom_longfunc1,
+ custom_longfunc2,
+ custom_longfunc3};
+ SET_CUSTOM_FAKE_SEQ(longfunc0, custom_fakes, 3);
+
+ longfunc0();
+ longfunc0();
+ longfunc0();
+
+ ASSERT_EQ(42, longfunc0_fake.return_val_history[0]);
+ ASSERT_EQ(15, longfunc0_fake.return_val_history[1]);
+ ASSERT_EQ(7, longfunc0_fake.return_val_history[2]);
+}
+
TEST_F(FFFTestSuite, custom_fake_sequence_exhausted)
{
void (*custom_fakes[])(char *) = {voidfunc1outparam_custom_fake1,
@@ -299,6 +357,11 @@ TEST_F(FFFTestSuite, use_void_vararg_fake_with_different_number_of_arguments)
voidfunc3var("1 parameter", 1, 10);
voidfunc3var("2 parameters", 2, 10, 20);
voidfunc3var("3 parameters", 3, 10, 20, 30);
+
+ ASSERT_EQ(voidfunc3var_fake.call_count, 4);
+ char msg[] = "3 parameters";
+ ASSERT_EQ(strcmp(voidfunc3var_fake.arg0_val, msg), 0);
+ ASSERT_EQ(3, voidfunc3var_fake.arg1_val);
}
TEST_F(FFFTestSuite, use_value_vararg_fake_with_different_number_of_arguments)
@@ -307,6 +370,11 @@ TEST_F(FFFTestSuite, use_value_vararg_fake_with_different_number_of_arguments)
valuefunc3var("1 parameter", 1, 10);
valuefunc3var("2 parameters", 2, 10, 20);
valuefunc3var("3 parameters", 3, 10, 20, 30);
+
+ ASSERT_EQ(valuefunc3var_fake.call_count, 4);
+ char msg[] = "3 parameters";
+ ASSERT_EQ(strcmp(valuefunc3var_fake.arg0_val, msg), 0);
+ ASSERT_EQ(3, valuefunc3var_fake.arg1_val);
}
#endif /* __cplusplus */