Alexandre Julliard : transl: Use the array form for spawning shell commands .
Alexandre Julliard
julliard at winehq.org
Thu Jul 23 09:42:46 CDT 2009
Module: tools
Branch: master
Commit: f6931374185da7ba6c5ee68e837095b2c2f84d10
URL: http://source.winehq.org/git/tools.git/?a=commit;h=f6931374185da7ba6c5ee68e837095b2c2f84d10
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Jul 23 13:19:34 2009 +0200
transl: Use the array form for spawning shell commands.
---
transl/scripts/checkmakefile.pl | 29 ++++++++++++++---------------
1 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/transl/scripts/checkmakefile.pl b/transl/scripts/checkmakefile.pl
index ae964f0..2c31607 100755
--- a/transl/scripts/checkmakefile.pl
+++ b/transl/scripts/checkmakefile.pl
@@ -10,13 +10,12 @@ use File::Basename;
# configuration parameters
my (%CONFIG, $srcdir, $objdir, $toolsdir, $workdir, $wrc);
-sub shell($)
+sub shell(@)
{
- my $cmd = shift;
- my $ret = system $cmd;
+ my $ret = system @_;
if ($ret)
{
- print STDERR "$cmd\n";
+ print STDERR join(" ", @_) . "\n";
print "!!!!!!! return value: $ret\n";
exit 1;
}
@@ -66,21 +65,21 @@ sub mycheck
}
return unless @rcfiles;
- # files in dlls/ are compiled with __WINESRC__
- $defs .= " -D__WINESRC__" if ($dir =~ m,^dlls,);
+ # files in dlls/ are compiled with __WINESRC__
+ my @defs = split /s+/, $defs;
+ push @defs, "-D__WINESRC__" if ($dir =~ m,^dlls,);
- print STDERR "*** $dir [$defs]\n";
+ printf STDERR "*** $dir [%s]\n", join( " ", @defs );
- my $incl = "-I$srcdir/$dir -I$objdir/$dir -I$srcdir/include -I$objdir/include";
+ my @incl = ("-I$srcdir/$dir", "-I$objdir/$dir", "-I$srcdir/include", "-I$objdir/include");
my $norm_fn = $dir;
$norm_fn =~ s/[^a-zA-Z0-9]/-/g;
- my $targets = join( " ", map { (my $ret = $_) =~ s/.rc$/.res/; $ret; } @rcfiles );
- my $srcs = join( " ", @srcs );
- my $objs = join( " ", map { (my $ret = "$objdir/$dir/$_") =~ s/.rc$/.res/; $ret; } @rcfiles );
+ my @targets = map { (my $ret = $_) =~ s/.rc$/.res/; $ret; } @rcfiles;
+ my @objs = map { (my $ret = "$objdir/$dir/$_") =~ s/.rc$/.res/; $ret; } @rcfiles;
- shell "make -C $objdir/$dir -s $targets";
- shell "$toolsdir/tools/winebuild/winebuild --resources -o $workdir/res/$norm_fn.res $objs";
+ shell "make", "-C", "$objdir/$dir", "-s", @targets;
+ shell "$toolsdir/tools/winebuild/winebuild", "--resources", "-o", "$workdir/res/$norm_fn.res", @objs;
my $type = -1;
my $resource;
@@ -99,7 +98,7 @@ sub mycheck
if ($mode eq "locale")
{
- open(VERIFY, "$wrc $incl --verify-translation $defs $srcs|");
+ open VERIFY, "-|" or exec $wrc, "--verify-translation", @incl, @defs, @srcs;
while (<VERIFY>)
{
if (m/^EXIST ([0-9a-f]{3}:[0-9a-f]{2})/)
@@ -116,7 +115,7 @@ sub mycheck
return;
}
- open(VERIFY, "$wrc $incl --verify-translation $defs $srcs|");
+ open VERIFY, "-|" or exec $wrc, "--verify-translation", @incl, @defs, @srcs;
while (<VERIFY>)
{
if (m/^TYPE NEXT/)
More information about the wine-cvs
mailing list