diff --git a/lib/cmock_generator.rb b/lib/cmock_generator.rb index 6fe191c..255fe71 100644 --- a/lib/cmock_generator.rb +++ b/lib/cmock_generator.rb @@ -183,8 +183,9 @@ class CMockGenerator file << " UNITY_TEST_FAIL(cmock_line, \"Function '#{function[:name]}' called later than expected.\");\n" # file << " UNITY_TEST_ASSERT((cmock_call_instance->CallOrder == ++GlobalVerifyOrder), cmock_line, \"Out of order function calls. Function '#{function[:name]}'\");\n" end + return_type = function[:return][:const?] ? "const #{function[:return][:type]}" : function[:return][:type] file << @plugins.run(:mock_implementation, function) - file << " return cmock_call_instance->ReturnVal;\n" unless (function[:return][:void?]) + file << " return (#{return_type})cmock_call_instance->ReturnVal;\n" unless (function[:return][:void?]) file << "}\n\n" end diff --git a/lib/cmock_generator_plugin_ignore.rb b/lib/cmock_generator_plugin_ignore.rb index 807afd6..4118e5e 100644 --- a/lib/cmock_generator_plugin_ignore.rb +++ b/lib/cmock_generator_plugin_ignore.rb @@ -39,9 +39,10 @@ class CMockGeneratorPluginIgnore lines << " return;\n }\n" else retval = function[:return].merge( { :name => "cmock_call_instance->ReturnVal"} ) - lines << " if (cmock_call_instance == NULL)\n return Mock.#{function[:name]}_FinalReturn;\n" + return_type = function[:return][:const?] ? "const #{function[:return][:type]}" : function[:return][:type] + lines << " if (cmock_call_instance == NULL)\n return (#{return_type})Mock.#{function[:name]}_FinalReturn;\n" lines << " " + @utils.code_assign_argument_quickly("Mock.#{function[:name]}_FinalReturn", retval) unless (retval[:void?]) - lines << " return cmock_call_instance->ReturnVal;\n }\n" + lines << " return (#{return_type})cmock_call_instance->ReturnVal;\n }\n" end lines end