#!/usr/bin/env perl use warnings; use strict; use constant BUFFER_SIZE => 40; binmode(STDIN); binmode(STDOUT); exit(1) if ($#ARGV != 0); my $indent = $ARGV[0]; my $print_indent = 1; my $buffer; my $size; my $c; while (1) { $size = sysread(STDIN, $buffer, BUFFER_SIZE); last if ($size < 1); for (0..$size-1) { $c = substr($buffer, $_, 1); if ($c eq "\n") { syswrite(STDOUT, $indent) if ($print_indent); # XXX: SYSTEMD-STDOUT HACK #syswrite(STDOUT, $c, 1); syswrite(STDOUT, "\r\n", 2); $print_indent = 1; } elsif ($c eq "\r") { syswrite(STDOUT, $c, 1); $print_indent = 1; } else { syswrite(STDOUT, $indent) if ($print_indent); syswrite(STDOUT, $c, 1); $print_indent = 0; } } }