mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-06-05 21:15:20 +00:00
Merge pull request #75 from mike-rob/master
Fix for const to allow returnThruPtr to be generated for const pointers with mutable data (Thanks Mike-Rob!)
This commit is contained in:
@@ -142,7 +142,7 @@ class CMockHeaderParser
|
||||
args << { :type => (arg_type = arg_elements[0..-2].join(' ')),
|
||||
:name => arg_elements[-1],
|
||||
:ptr? => divine_ptr(arg_type),
|
||||
:const? => arg_array.include?('const')
|
||||
:const? => divine_const(arg)
|
||||
}
|
||||
end
|
||||
return args
|
||||
@@ -154,6 +154,12 @@ class CMockHeaderParser
|
||||
return true
|
||||
end
|
||||
|
||||
def divine_const(arg)
|
||||
return false if /const[ *]/.match(arg).nil? # check for const
|
||||
return false if /\*/.match(arg) and /const[^*]*\*/.match(arg).nil? # check const comes before * indicating const data
|
||||
return true
|
||||
end
|
||||
|
||||
def clean_args(arg_list)
|
||||
if ((@local_as_void.include?(arg_list.strip)) or (arg_list.empty?))
|
||||
return 'void'
|
||||
|
||||
@@ -858,7 +858,7 @@ describe CMockHeaderParser, "Verify CMockHeaderParser Module" do
|
||||
{:type=>"int", :name=>"int_param", :ptr? => false, :const? => false},
|
||||
{:type=>"int", :name=>"integer", :ptr? => false, :const? => false},
|
||||
{:type=>"char", :name=>"character", :ptr? => false, :const? => false},
|
||||
{:type=>"int*", :name=>"constant", :ptr? => true, :const? => true}
|
||||
{:type=>"int*", :name=>"constant", :ptr? => true, :const? => false}
|
||||
],
|
||||
:args_string=>"const unsigned int const_param, int int_param, int integer, char character, int* const constant",
|
||||
:args_call=>"const_param, int_param, integer, character, constant" }]
|
||||
|
||||
Reference in New Issue
Block a user