diff --git a/tools/winapi_check/win32/msvcrt.api b/tools/winapi_check/win32/msvcrt.api index ffbf28c0b2e..ca27878c5a1 100644 --- a/tools/winapi_check/win32/msvcrt.api +++ b/tools/winapi_check/win32/msvcrt.api @@ -26,13 +26,9 @@ ULONGLONG %ptr -CHAR * DWORD * -LPCVOID LPDWORD * -LPINT LPTHREAD_START_ROUTINE -LPVOID MSVCRT__INITTERMFUN * MSVCRT_EXCEPTION_FRAME * MSVCRT_FILE * diff --git a/tools/winapi_check/win32/oleaut32.api b/tools/winapi_check/win32/oleaut32.api index dbe6d6f12f7..5eebc418f99 100644 --- a/tools/winapi_check/win32/oleaut32.api +++ b/tools/winapi_check/win32/oleaut32.api @@ -35,6 +35,7 @@ WORD int short +signed char unsigned int %ptr diff --git a/tools/winapi_check/win32/winedos.api b/tools/winapi_check/win32/winedos.api index 182aa6a68fc..ac266a32a7c 100644 --- a/tools/winapi_check/win32/winedos.api +++ b/tools/winapi_check/win32/winedos.api @@ -3,13 +3,15 @@ BOOL BYTE HANDLE +INT UINT WORD -int + %ptr CONTEXT86 * +DOSRELAY LPDOSTASK LPVOID diff --git a/tools/winapi_check/winapi.pm b/tools/winapi_check/winapi.pm index 4026179e0b1..7dd7cfca676 100644 --- a/tools/winapi_check/winapi.pm +++ b/tools/winapi_check/winapi.pm @@ -351,7 +351,7 @@ sub parse_spec_file { } elsif($$function_module{$internal_name} !~ /$module/) { $$function_module{$internal_name} .= " & $module"; } - } elsif(/^(\d+|@)\s+forward\s+(\S+)\s+(\S+)\.(\S+)$/) { + } elsif(/^(\d+|@)\s+forward(?:\s+(?:-noimport|-norelay|-i386|-ret64))?\s+(\S+)\s+(\S+)\.(\S+)$/) { $ordinal = $1; my $external_name = $2; diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check index f2acfe1eb4a..77aacc07b8e 100755 --- a/tools/winapi_check/winapi_check +++ b/tools/winapi_check/winapi_check @@ -148,6 +148,8 @@ my %includes; my $header = $1; if(-e "$file_dir/$header") { $includes{$file}{includes}{"$file_dir/$header"}++; + } elsif(-e "$file_dir/../$header") { # FIXME: This is not correct + $includes{$file}{includes}{"$file_dir/../$header"}++; # FIXME: This is not correct } elsif(-e "$wine_dir/include/$header") { $includes{$file}{includes}{"include/$header"}++; } else { diff --git a/tools/winapi_check/winapi_local.pm b/tools/winapi_check/winapi_local.pm index 630e3322e9c..8c4113c1d08 100644 --- a/tools/winapi_check/winapi_local.pm +++ b/tools/winapi_check/winapi_local.pm @@ -50,7 +50,7 @@ sub check_function { } my $segmented = 0; - if($implemented_return_kind =~ /^segptr|segstr$/) { + if(defined($implemented_return_kind) && $implemented_return_kind =~ /^segptr|segstr$/) { $segmented = 1; } @@ -73,7 +73,7 @@ sub check_function { } elsif($calling_convention =~ /^VFWAPIV|WINAPIV$/) { $implemented_calling_convention = "varargs"; } elsif($calling_convention =~ /^__stdcall|VFWAPI|WINAPI|CALLBACK$/) { - if($implemented_return_kind =~ /^longlong$/) { + if(defined($implemented_return_kind) && $implemented_return_kind =~ /^longlong$/) { $implemented_calling_convention = "stdcall"; # FIXME: Check entry flags } else { $implemented_calling_convention = "stdcall";