Alexandre Julliard : winapi: Get the list of files from git-ls-files if possible.
Module: wine Branch: master Commit: 84ff0631d41e0d9c32180e88f4792a37085f9181 URL: http://source.winehq.org/git/wine.git/?a=commit;h=84ff0631d41e0d9c32180e88f4... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Mon Jun 7 16:46:33 2010 +0200 winapi: Get the list of files from git-ls-files if possible. --- tools/winapi/options.pm | 68 ++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 30 deletions(-) diff --git a/tools/winapi/options.pm b/tools/winapi/options.pm index 232de7f..749b9b7 100644 --- a/tools/winapi/options.pm +++ b/tools/winapi/options.pm @@ -236,38 +236,46 @@ sub parse_files($) { } } - if($#c_files == -1 && $#h_files == -1 && $#paths == -1) + if($#c_files == -1 && $#h_files == -1 && $#paths == -1 && -d ".git") { - @paths = "."; - } - - if($#paths != -1 || $#c_files != -1) { - my $c_command = "find " . join(" ", @paths, @c_files) . " -name \\*.c"; - my %found; - @$c_files = sort(map { - s/^\.\/(.*)$/$1/; - if(defined($found{$_})) { - (); - } else { - $found{$_}++; - $_; - } - } split(/\n/, `$c_command`)); + @$c_files = sort split /\0/, `git ls-files -z \\*.c`; + @$h_files = sort split /\0/, `git ls-files -z \\*.h`; } + else + { + if($#c_files == -1 && $#h_files == -1 && $#paths == -1) + { + @paths = "."; + } + + if($#paths != -1 || $#c_files != -1) { + my $c_command = "find " . join(" ", @paths, @c_files) . " -name \\*.c"; + my %found; + @$c_files = sort(map { + s/^\.\/(.*)$/$1/; + if(defined($found{$_})) { + (); + } else { + $found{$_}++; + $_; + } + } split(/\n/, `$c_command`)); + } - if($#paths != -1 || $#h_files != -1) { - my $h_command = "find " . join(" ", @paths, @h_files) . " -name \\*.h"; - my %found; + if($#paths != -1 || $#h_files != -1) { + my $h_command = "find " . join(" ", @paths, @h_files) . " -name \\*.h"; + my %found; - @$h_files = sort(map { - s/^\.\/(.*)$/$1/; - if(defined($found{$_})) { - (); - } else { - $found{$_}++; - $_; - } - } split(/\n/, `$h_command`)); + @$h_files = sort(map { + s/^\.\/(.*)$/$1/; + if(defined($found{$_})) { + (); + } else { + $found{$_}++; + $_; + } + } split(/\n/, `$h_command`)); + } } my %dirs;
participants (1)
-
Alexandre Julliard