Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: util::systemcmd()



At Sun, 08 Sep 2002 17:48:22 +0900 (JST),
Hajime BABA wrote:
> リファクタリングをさらに進めてみました。かなり整理できたかとおもい
> ますが、どうでしょうか。

コーディングスタイルの問題ですが、こんなのがいいなぁ…。
見るだけでなく commit してもいいでしょうか?

Index: util.pl
===================================================================
RCS file: /storage/cvsroot/namazu/pl/util.pl,v
retrieving revision 1.25.2.2
diff -u -r1.25.2.2 util.pl
--- util.pl	8 Sep 2002 08:29:55 -0000	1.25.2.2
+++ util.pl	8 Sep 2002 16:54:03 -0000
@@ -260,14 +260,11 @@
 
 sub systemcmd(@) {
     my $status = undef;
-    my @args = ();
+    my @args = @_;
     if ($mknmz::SYSTEM eq "MSWin32" || $mknmz::SYSTEM eq "os2") {
-	foreach my $tmp (@_) {
-	    $tmp =~ s!/!\\!g;
-	    push @args, $tmp;
+	foreach my $arg (@args) {
+	    $arg =~ s!/!\\!g;
 	}
-    } else {
-	@args = @_;
     }
     dprint(_("Invoked: ") . join(' ', @args));
 
@@ -288,8 +285,8 @@
     }
 
     # Note that the file position of filehandles must be rewinded.
-    seek($fh_out, 0, SEEK_SET) or cdie "seek: $!";
-    seek($fh_err, 0, SEEK_SET) or cdie "seek: $!";
+    $fh_out->seek(0, SEEK_SET) or cdie "seek: $!";
+    $fh_err->seek(0, SEEK_SET) or cdie "seek: $!";
 
     return ($status, $fh_out, $fh_err);
 }

Windows の場合、command.com だか cmd.com (cmd.exe?) を
利用しないなら、パス名の区切りを \ にしなくても大丈夫だと
思うのですが、そうもいかないのでしょうか。

OS/2 の場合は知らない。

-- 
SATOH Fumiyasu - fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...
THRUST Co., Ltd. @ Fujisawa, Kanagawa, Japan - http://www.net-thrust.com
Samba-JP, aka `Samba Users Group Japan'      - http://www.samba.gr.jp
Apache-JP(?), aka `Japan Apache Users Group' - http://www.apache.jp
Namazu, a full-text search engine            - http://www.namazu.org