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 ); }

Reply via email to