3 # Copyright 2001 Patrik Stridvall
8 $0 =~ m%^(.*?/?tools)/winapi/winapi_fixup$%;
9 require "$1/winapi/setup.pm";
13 &file_type &files_filter
14 &file_skip &files_skip
17 $current_dir $wine_dir $winapi_dir $winapi_check_dir
19 use output qw($output);
20 use winapi_fixup_options qw($options);
26 use winapi_fixup_documentation qw(&fixup_documentation);
27 use winapi_fixup_editor;
28 use winapi_fixup_statements qw(&fixup_statements);
30 my @c_files = $options->c_files;
31 @c_files = files_skip(@c_files);
32 @c_files = files_filter("winelib", @c_files);
35 my $progress_current = 0;
36 my $progress_max = scalar(@c_files);
38 foreach my $file (@c_files) {
39 my $editor = new winapi_fixup_editor($file);
42 if($options->progress) {
43 $output->progress("$file (file $progress_current of $progress_max)");
46 my $create_function = sub {
47 return 'winapi_function'->new;
50 my $found_function = sub {
53 my $internal_name = $function->internal_name;
54 if($options->progress) {
55 $output->progress("$file (file $progress_current of $progress_max): $internal_name");
58 $output->prefix_callback(sub { return $function->prefix; });
60 if($options->documentation) {
61 fixup_documentation($function, $editor);
64 if($options->statements) {
65 fixup_statements($function, $editor);
71 my $create_type = sub {
75 my $found_type = sub {
79 my $found_preprocessor = sub {
80 my $directive = shift;
84 &winapi_parser::parse_c_file($file, $create_function, $found_function, $create_type, $found_type, $found_preprocessor);