Correctly generate a 64-bit type in unmarshalling code in syscall_stub_gen

This was introduced in changeset e653f8f65a
where hard coded size types were replaced with an indirection. This corrects
a case where a 'uint64_t' was replaced with a '%s', but there is no corresponding
'TYPES[64]' in the argument list, resulting in too few arguments when processing
the string
This commit is contained in:
Adrian Danis 2015-07-28 15:22:00 +10:00
parent 3481b9b22e
commit c8e4f9bd08

View file

@ -584,7 +584,7 @@ def generate_stub(arch, interface_name, method_name, method_id, input_params, ou
result.append("\t%s->%s = %s;" % (param.name, members[i], words[i] % source_words))
else:
if param.type.double_word:
result.append("\tresult.%s = ((%s)%s + ((%s)%s << 32));" % (TYPES[64], param.name, words[0] % source_words, words[1] % source_words))
result.append("\tresult.%s = ((%s)%s + ((%s)%s << 32));" % (param.name, TYPES[64], words[0] % source_words, TYPES[64], words[1] % source_words))
else:
for word in words:
result.append("\tresult.%s = %s;" % (param.name, word % source_words))