- A few more bug fixes
- Reorganization continues
- New tool (make_filter) for filtering make output added
diff --git a/tools/winapi/winapi_fixup b/tools/winapi/winapi_fixup
index 4a87ba2..f043138 100755
--- a/tools/winapi/winapi_fixup
+++ b/tools/winapi/winapi_fixup
@@ -17,24 +17,14 @@
$current_dir $wine_dir $winapi_dir $winapi_check_dir
);
use output qw($output);
-use modules;
-use util;
-use winapi;
-use winapi_parser;
use winapi_fixup_options qw($options);
+use modules qw($modules);
+use winapi qw($win16api $win32api @winapis);
-my $modules = 'modules'->new($options, $output, $wine_dir, $current_dir, \&file_type, "$winapi_check_dir/modules.dat");
-
-my $win16api = 'winapi'->new($options, $output, "win16", "$winapi_check_dir/win16");
-my $win32api = 'winapi'->new($options, $output, "win32", "$winapi_check_dir/win32");
-my @winapis = ($win16api, $win32api);
-
-if($wine_dir eq ".") {
- 'winapi'->read_all_spec_files($modules, $wine_dir, $current_dir, \&file_type, $win16api, $win32api);
-} else {
- my @spec_files = $modules->allowed_spec_files($wine_dir, $current_dir);
- 'winapi'->read_spec_files($modules, $wine_dir, $current_dir, \@spec_files, $win16api, $win32api);
-}
+use type;
+use util;
+use winapi_function;
+use winapi_parser;
my @c_files = $options->c_files;
@c_files = files_skip(@c_files);
@@ -58,6 +48,10 @@
my %documentation_line_used;
+ my $create_function = sub {
+ return 'winapi_function'->new;
+ };
+
my $found_function = sub {
my $function = shift;
@@ -434,12 +428,21 @@
$output->prefix("");
};
+
+ my $create_type = sub {
+ return 'type'->new;
+ };
+
+ my $found_type = sub {
+ my $type = shift;
+ };
+
my $found_preprocessor = sub {
my $directive = shift;
my $argument = shift;
};
- &winapi_parser::parse_c_file($options, $file, $found_function, $found_preprocessor);
+ &winapi_parser::parse_c_file($file, $create_function, $found_function, $create_type, $found_type, $found_preprocessor);
my $editor = sub {
local *IN = shift;
@@ -598,4 +601,3 @@
}
}
-$output->hide_progress;