Module: wine Branch: master Commit: 84ff0631d41e0d9c32180e88f4792a37085f9181 URL: http://source.winehq.org/git/wine.git/?a=commit;h=84ff0631d41e0d9c32180e88f4...
Author: Alexandre Julliard julliard@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;