diff --git a/tools/winapi/win16.api b/tools/winapi/win16.api index a010e7eaa44..886a3483faf 100644 --- a/tools/winapi/win16.api +++ b/tools/winapi/win16.api @@ -287,7 +287,7 @@ INT16 UINT16 WORD -%%kernel.dll +%%krnl386.exe %long diff --git a/tools/winapi/win32.api b/tools/winapi/win32.api index 4822e9fa680..655f9a9bd9a 100644 --- a/tools/winapi/win32.api +++ b/tools/winapi/win32.api @@ -77,6 +77,8 @@ PSID_NAME_USE PUCHAR PVOID PVOID * +PVALENTA +PVALENTW SECURITY_ATTRIBUTES * SECURITY_DESCRIPTOR * @@ -1212,6 +1214,7 @@ _JUMP_BUFFER * __non_rtti_object * _onexit_t _onexit_t ** +_se_translator_function bad_cast * bad_typeid * char * @@ -1496,6 +1499,7 @@ HOLEMENU HRESULT HWND INT +LONG UINT ULONG int @@ -1563,10 +1567,12 @@ LPVOID LPVOID * MULTI_QI * OLECHAR * +PSECURITY_DESCRIPTOR REFCLSID REFGUID REFIID SNB +SOLE_AUTHENTICATION_SERVICE * STGMEDIUM * ULONG * WORD * @@ -2096,6 +2102,7 @@ IShellFolder ** IStream * ITEMIDLIST * LPBROWSEINFOA +LPBROWSEINFOW LPBYTE LPCITEMIDLIST LPCITEMIDLIST * @@ -2211,6 +2218,7 @@ ITEMIDLIST * IUnknown * IUnknown ** LPBROWSEINFOW +LPBYTE LPCITEMIDLIST LPCLSID LPCSHLWAPI_CLIST @@ -2234,6 +2242,7 @@ LPUNKNOWN * LPVOID LPVOID * LPWORD +LPWSTR * PACL PHUSKEY PLONG diff --git a/tools/winapi_check/modules.pm b/tools/winapi_check/modules.pm index 051aabfb9e6..1904ff37db7 100644 --- a/tools/winapi_check/modules.pm +++ b/tools/winapi_check/modules.pm @@ -47,6 +47,9 @@ sub get_spec_file_type { my $module; my $type; + $module = $file; + $module =~ s%^.*?([^/]+)\.spec$%$1%; + open(IN, "< $file") || die "$file: $!\n"; local $/ = "\n"; my $header = 1; @@ -58,7 +61,6 @@ sub get_spec_file_type { /^$/ && next; if($header) { - if(/^name\s*(\S*)/) { $module = $1; } if(/^\d+|@/) { $header = 0; $lookahead = 1; } next; } @@ -70,11 +72,6 @@ sub get_spec_file_type { } close(IN); - if(!defined($module)) { - $module = $file; - $module =~ s%^.*?([^/]+)\.spec|%$1%; - } - if(!defined($type)) { $type = "win32"; } diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check index 3b73fddaff1..a4814aa43c5 100755 --- a/tools/winapi_check/winapi_check +++ b/tools/winapi_check/winapi_check @@ -138,6 +138,17 @@ if($options->global) { } } +if(1) { + foreach my $winapi (@winapis) { + foreach my $broken_forward ($winapi->all_broken_forwards) { + (my $module, my $external_name, my $forward_module, my $forward_external_name) = @$broken_forward; + if($complete_module{$forward_module}) { + $output->write("$module.spec: forward is broken: $external_name => $forward_module.$forward_external_name\n"); + } + } + } +} + my $progress_current = 0; my $progress_max = scalar(@c_files); diff --git a/tools/winapi_check/winapi_documentation.pm b/tools/winapi_check/winapi_documentation.pm index cc6d868573c..a944f3eb5b1 100644 --- a/tools/winapi_check/winapi_documentation.pm +++ b/tools/winapi_check/winapi_documentation.pm @@ -78,12 +78,16 @@ sub check_documentation { my $found_ordinal = 0; $module =~ s/\.(acm|dll|drv|exe|ocx)$//; # FIXME: Kludge + $module = "kernel" if $module eq "krnl386"; # FIXME: Kludge + foreach (split(/\n/, $documentation)) { if(/^(\s*)\*(\s*)(\@|\S+)(\s*)([\(\[])(\w+)\.(\@|\d+)([\)\]])/) { my $external_name2 = $3; my $module2 = $6; my $ordinal2 = $7; + + if(length($1) != 1 || length($2) < 1 || length($4) < 1 || $5 ne "(" || $8 ne ")") { @@ -132,6 +136,7 @@ sub check_documentation { my $_module2 = $module2; $_module2 =~ s/\.(acm|dll|drv|exe|ocx)$//; # FIXME: Kludge + $_module2 = "kernel" if $_module2 eq "krnl386"; # FIXME: Kludge if($external_name eq $external_name2 && lc($module) eq $_module2 &&