winapi_check: Fix handling of the 'longlong' arguments.
Francois Gouget
fgouget at free.fr
Tue Feb 20 08:48:32 CST 2007
---
It would be much better if spec files had a 'longlong' parameter type.
But they don't and use 'double' instead. This forces winapi_check to do
some ugly hacks and no doubt results in messed up relay traces too.
Fortunately longlong parameters are relatively rare.
tools/winapi/winapi_local.pm | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/winapi/winapi_local.pm b/tools/winapi/winapi_local.pm
index f46d1ec..9cea587 100644
--- a/tools/winapi/winapi_local.pm
+++ b/tools/winapi/winapi_local.pm
@@ -187,7 +187,7 @@ sub _check_function($$$$$$) {
("double", "double");
} elsif(defined($kind) && $kind eq "longlong") {
$n+=1;
- "double";
+ "longlong";
} else {
$n++;
$kind;
@@ -230,7 +230,8 @@ sub _check_function($$$$$$) {
$output->write("argument " . ($n + 1) . " type is forbidden: " .
"$argument_types[$n] ($argument_kinds[$n])\n");
}
- } elsif($argument_kinds[$n] ne $declared_argument_kinds[$n]) {
+ } elsif($argument_kinds[$n] ne $declared_argument_kinds[$n] &&
+ !($argument_kinds[$n] eq "longlong" && $declared_argument_kinds[$n] eq "double")) {
if($options->report_argument_kind($argument_kinds[$n]) ||
$options->report_argument_kind($declared_argument_kinds[$n]))
{
--
1.4.4.4
More information about the wine-patches
mailing list