- my ($out, $pipe_lk);
- open $out, '+>>', $dst or die "open $dst: $!";
- # Perl does SEEK_END even with O_APPEND :<
- seek($out, 0, SEEK_SET) or die "seek $dst: $!";
+ my ($out, $pipe_lk, $seekable);
+ # XXX should we support /dev/stdout.gz ?
+ if ($dst eq '/dev/stdout') {
+ $out = $lei->{1};
+ } else { # TODO: mbox locking
+ open $out, '+>>', $dst or die "open $dst: $!";
+ # Perl does SEEK_END even with O_APPEND :<
+ $seekable = seek($out, 0, SEEK_SET);
+ die "seek $dst: $!\n" if !$seekable && !$!{ESPIPE};
+ }