On 10/19/18 7:58 PM, ToddAndMargo via perl6-users wrote:
if $StdErr { $proc = run( @RunArray, :err, :out,
:enc<utf8-c8> ); }
elsif $StdOut { $proc = run( @RunArray, :out,
:enc<utf8-c8> ); } # STDERR goes to the terminal
else { $proc = run( @RunArray, :err, :out,
:enc<utf8-c8> ); } # STDIN and STDERR are silent
if $Code { $RtnCode = $proc.status; }
if $StdErr { $ReturnErr = $proc.err.slurp; }
if $StdOut { $ReturnStr = $proc.out.slurp; }
changed to
sub AsciiToStr ( Buf $Ascii ) {
# masks off bits above 0H7F
# change 0H0D 0H0A to \n
# change lone 0H0D to \n
# return the corrected string
my Str $String = "";
my Str $CrLf = chr(0x0d) ~ chr(0x0a);
my Str $Cr = chr(0x0d);
for $Ascii[0..*] -> $I { $String ~= chr( Int( $I ) +& 0x7F ); }
$String ~~ s:global/ $CrLf /\n/;
$String ~~ s:global/ $Cr /\n/;
# print( "AsciiToStr <" ~ $String ~ "\n" );
return $String;
}
if $StdErr { $BufStdErr = $proc.err.slurp; $ReturnErr =
AsciiToStr( $BufStdErr ); }
if $StdOut { $BufStdOut = $proc.out.slurp; $ReturnStr =
AsciiToStr( $BufStdOut ); }