- Report broken forwards.
- API files update.
diff --git a/tools/winapi_check/modules.pm b/tools/winapi_check/modules.pm
index 051aabf..1904ff3 100644
--- a/tools/winapi_check/modules.pm
+++ b/tools/winapi_check/modules.pm
@@ -47,6 +47,9 @@
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 @@
/^$/ && next;
if($header) {
- if(/^name\s*(\S*)/) { $module = $1; }
if(/^\d+|@/) { $header = 0; $lookahead = 1; }
next;
}
@@ -70,11 +72,6 @@
}
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 3b73fdd..a4814aa 100755
--- a/tools/winapi_check/winapi_check
+++ b/tools/winapi_check/winapi_check
@@ -138,6 +138,17 @@
}
}
+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 cc6d868..a944f3e 100644
--- a/tools/winapi_check/winapi_documentation.pm
+++ b/tools/winapi_check/winapi_documentation.pm
@@ -78,12 +78,16 @@
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 @@
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 &&