- Continued on the new C parser.
- More reorganizations and fixes.
- API files update.

diff --git a/tools/winapi_check/modules.pm b/tools/winapi_check/modules.pm
index 1880b49..a6598b6 100644
--- a/tools/winapi_check/modules.pm
+++ b/tools/winapi_check/modules.pm
@@ -70,9 +70,7 @@
 
     my $module_file = "$winapi_check_dir/modules.dat";
 
-    if($options->progress) {
-	$output->progress("modules.dat");
-    }
+    $output->progress("modules.dat");
 
     my %spec_file_found;
     my $allowed_dir;
diff --git a/tools/winapi_check/nativeapi.pm b/tools/winapi_check/nativeapi.pm
index dc5bf38..969e58c 100644
--- a/tools/winapi_check/nativeapi.pm
+++ b/tools/winapi_check/nativeapi.pm
@@ -36,9 +36,7 @@
     $configure_in_file =~ s/^\.\///;
     $config_h_in_file =~ s/^\.\///;
 
-    if($options->progress) {
-	$output->progress("$api_file");
-    }
+    $output->progress("$api_file");
 
     open(IN, "< $api_file");
     local $/ = "\n";
@@ -51,9 +49,7 @@
     }
     close(IN);
 
-    if($options->progress) {
-	$output->progress("$configure_in_file");
-    }
+    $output->progress("$configure_in_file");
 
     my $again = 0;
     open(IN, "< $configure_in_file");   
@@ -102,9 +98,7 @@
     }
     close(IN);
 
-    if($options->progress) {
-	$output->progress("$config_h_in_file");
-    }
+    $output->progress("$config_h_in_file");
 
     open(IN, "< $config_h_in_file");
     local $/ = "\n";
diff --git a/tools/winapi_check/win32/kernel32.api b/tools/winapi_check/win32/kernel32.api
index a062a4e..2106c83 100644
--- a/tools/winapi_check/win32/kernel32.api
+++ b/tools/winapi_check/win32/kernel32.api
@@ -136,8 +136,6 @@
 PLONG
 PTIMERAPCROUTINE
 PULARGE_INTEGER
-PVOID
-PVOID *
 SECURITY_ATTRIBUTES *
 SYSLEVEL *
 SYSLEVEL **
diff --git a/tools/winapi_check/win32/oleaut32.api b/tools/winapi_check/win32/oleaut32.api
index 5eebc41..616df9d 100644
--- a/tools/winapi_check/win32/oleaut32.api
+++ b/tools/winapi_check/win32/oleaut32.api
@@ -66,10 +66,12 @@
 LPOCPFIPARAMS
 LPPICTDESC
 LPSTREAM
+LPSYSTEMTIME
 LPUNKNOWN
 LPUNKNOWN *
 LPVOID
 LPVOID *
+NUMPARSE *
 OLECHAR *
 OLECHAR **
 REFCLSID
@@ -78,6 +80,7 @@
 SAFEARRAY *
 SAFEARRAY **
 SAFEARRAYBOUND *
+UDATE *
 UINT *
 ULONG *
 USHORT *
diff --git a/tools/winapi_check/win32/quartz.api b/tools/winapi_check/win32/quartz.api
index b4d5096..c9b8791 100644
--- a/tools/winapi_check/win32/quartz.api
+++ b/tools/winapi_check/win32/quartz.api
@@ -1,6 +1,5 @@
 %long
 
-DWORD
 HRESULT
 
 %ptr
diff --git a/tools/winapi_check/win32/shell32.api b/tools/winapi_check/win32/shell32.api
index 20ce347..d4afdf2 100644
--- a/tools/winapi_check/win32/shell32.api
+++ b/tools/winapi_check/win32/shell32.api
@@ -6,6 +6,7 @@
 HANDLE
 HBITMAP
 HDROP
+HGLOBAL
 HMENU
 HICON
 HINSTANCE
diff --git a/tools/winapi_check/win32/ttydrv.api b/tools/winapi_check/win32/ttydrv.api
index e08e9d3..39439a3 100644
--- a/tools/winapi_check/win32/ttydrv.api
+++ b/tools/winapi_check/win32/ttydrv.api
@@ -43,7 +43,7 @@
 RECT *
 WINDOWPOS *
 struct tagCURSORICONINFO *
-struct tagWND *
+
 void *
 
 %str
diff --git a/tools/winapi_check/win32/x11drv.api b/tools/winapi_check/win32/x11drv.api
index 77363b9..f811145 100644
--- a/tools/winapi_check/win32/x11drv.api
+++ b/tools/winapi_check/win32/x11drv.api
@@ -53,7 +53,6 @@
 RECT *
 TEXTMETRICW *
 WINDOWPOS *
-WND *
 void *
 
 %str
diff --git a/tools/winapi_check/winapi.pm b/tools/winapi_check/winapi.pm
index 4eb33e4..b7d32fe 100644
--- a/tools/winapi_check/winapi.pm
+++ b/tools/winapi_check/winapi.pm
@@ -105,9 +105,7 @@
     my $extension = 0;
     my $forbidden = 0;
 
-    if($options->progress) {
-	$output->lazy_progress("$file");
-    }
+    $output->lazy_progress("$file");
 
     open(IN, "< $wine_dir/$file") || die "$wine_dir/$file: $!\n";
     $/ = "\n";
@@ -217,9 +215,7 @@
     my $module;
     my $module_file;
 
-    if($options->progress) {
-	$output->lazy_progress("$file");
-    }
+    $output->lazy_progress("$file");
 
     open(IN, "< $file") || die "$file: $!\n";
     $/ = "\n";
diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check
index b7feb37..16b6102 100755
--- a/tools/winapi_check/winapi_check
+++ b/tools/winapi_check/winapi_check
@@ -26,6 +26,13 @@
 );
 use output qw($output);
 use winapi_check_options qw($options);
+
+if($options->progress) {
+    $output->enable_progress;
+} else {
+    $output->disable_progress;
+}
+
 use modules qw($modules);
 use nativeapi qw($nativeapi);
 use winapi qw($win16api $win32api @winapis);
@@ -50,9 +57,7 @@
 
     foreach my $file (@files) {
 	$progress_current++;
-	if($options->progress) {
-	    $output->lazy_progress("$file: file $progress_current of $progress_max");
-	}
+	$output->lazy_progress("$file: file $progress_current of $progress_max");
 
 	my $file_dir = $file;
 	if(!($file_dir =~ s%(.*?)/[^/]+$%$1%)) {
@@ -128,9 +133,7 @@
 	my %functions;
 	
 	$progress_current++;
-	if($options->progress) {
-	    $output->progress("$file: file $progress_current of $progress_max");
-	}
+	$output->progress("$file: file $progress_current of $progress_max");
 
 	my $create_function = sub {
 	    return 'winapi_function'->new;
@@ -139,11 +142,13 @@
 	my $found_function = sub {
 	    my $function = shift;
 
+	    my $internal_name = $function->internal_name;
+
+	    $output->progress("$file (file $progress_current of $progress_max): $internal_name");
 	    $output->prefix_callback(sub { return $function->prefix; });
 
 	    my $function_line = $function->function_line;
 	    my $linkage = $function->linkage;
-	    my $internal_name = $function->internal_name;
 	    my $external_name = $function->external_name;
 	    my $statements = $function->statements;
 
@@ -200,9 +205,7 @@
     my $file_module32 = $modules->allowed_modules_in_file("$current_dir/$file");
 
     $progress_current++;
-    if($options->progress) {
-	$output->progress("$file: file $progress_current of $progress_max");
-    }
+    $output->progress("$file (file $progress_current of $progress_max)");
 
     my $file_dir = $file;
     if(!($file_dir =~ s/(.*?)\/[^\/]*$/$1/)) {
@@ -216,11 +219,12 @@
     my $found_function = sub {
 	my $function = shift;
 
-	$output->prefix_callback(sub { return $function->prefix; });
-
 	my $internal_name = $function->internal_name;
 	$functions{$internal_name} = $function;
 
+	$output->progress("$file (file $progress_current of $progress_max): $internal_name");
+	$output->prefix_callback(sub { return $function->prefix; });
+
 	my $declared_function = $declared_functions{$internal_name};
 
 	my $documentation_line = $function->documentation_line;