Permalink
Browse files

Attemp to fix "List form of pipe open not implemented" error on Windows.

  • Loading branch information...
1 parent 825c8e4 commit 06c58ae7a9c5eab5b0f2d1d3b84755a3debb72b6 @theory committed Sep 25, 2012
Showing with 7 additions and 1 deletion.
  1. +1 −0 inc/Module/Build/Sqitch.pm
  2. +6 −1 lib/App/Sqitch.pm
View
1 inc/Module/Build/Sqitch.pm
@@ -15,6 +15,7 @@ sub new {
Win32API::Net
);
$p{requires}{'Win32::Locale'} = 0;
+ $p{requires}{'Win32::ShellQuote'} = 0;
}
my $self = $class->SUPER::new(%p);
$self->add_build_element('etc');
View
7 lib/App/Sqitch.pm
@@ -427,8 +427,13 @@ sub capture {
sub spool {
my ($self, $fh) = (shift, shift);
+ my @cmd = $^O eq 'MSWin32' ? do {
+ require Win32::ShellQuote;
+ Win32::ShellQuote::quote_system(@_)
+ } : @_;
+
local $SIG{__WARN__} = sub { }; # Silence warning.
- open my $pipe, '|-', @_ or hurl io => __x(
+ open my $pipe, '|-', @cmd or hurl io => __x(
'Cannot exec {command}: {error}',
command => $_[0],
error => $!,

0 comments on commit 06c58ae

Please sign in to comment.