sub child_error { # passes non-fatal curl exit codes to user
my ($self, $child_error, $msg) = @_; # child_error is $?
+ $child_error ||= 1 << 8;
$self->err($msg) if $msg;
if ($self->{pkt_op_p}) { # to top lei-daemon
$self->{pkt_op_p}->pkt_do('child_error', $child_error);
if (my $counters = delete $self->{counters}) {
for my $k (sort keys %$counters) {
my $nr = $counters->{$k};
- $self->child_error(1 << 8, "$nr $k messages");
+ $self->child_error(0, "$nr $k messages");
}
}
$self->{1}->autoflush(1) if $self->{1};
add_maildir_watch($d, $cfg_f);
}
} else { # TODO: imap/nntp/jmap
- $lei->child_error(1, "E: watch $url not supported, yet")
+ $lei->child_error(0, "E: watch $url not supported, yet")
}
}
my $d = canonpath_harder($1);
cancel_maildir_watch($d, $cfg_f);
} else { # TODO: imap/nntp/jmap
- $lei->child_error(1, "E: watch $url TODO");
+ $lei->child_error(0, "E: watch $url TODO");
}
}
}
my $lei = $self->{lei};
my $log_buf = delete $lei->{'log_buf'};
$$log_buf =~ s/^/# /sgm;
- ref($res) eq 'ARRAY' or return $lei->child_error(1 << 8, $$log_buf);
+ ref($res) eq 'ARRAY' or return $lei->child_error(0, $$log_buf);
$lei->qerr($$log_buf);
my ($git, $oid, $type, $size, $di) = @$res;
my $gd = $git->{git_dir};
sub input_fh { # overrides PublicInbox::LeiInput::input_fh
my ($self, $ifmt, $fh, $input, @args) = @_;
- $self->{lei}->child_error(1<<8, <<EOM);
+ $self->{lei}->child_error(0, <<EOM);
$input ($ifmt) not yet supported, try `lei import'
EOM
}
my ($self, $ifmt, $fh, $name, @args) = @_;
if ($ifmt eq 'eml') {
my $buf = do { local $/; <$fh> } //
- return $self->{lei}->child_error(1 << 8, <<"");
+ return $self->{lei}->child_error(0, <<"");
error reading $name: $!
# mutt pipes single RFC822 messages with a "From " line,
my $err = $@;
waitpid($pid, 0);
$? || $err and
- $lei->child_error($? || 1, "@$cmd failed".$err ? " $err" : '');
+ $lei->child_error($?, "@$cmd failed".$err ? " $err" : '');
}
sub input_path_url {
my $err = $lms->arg2folder($lei, $folders);
$lei->qerr(@{$err->{qerr}}) if $err && $err->{qerr};
if ($err && $err->{fail}) {
- $lei->child_error(1 << 8, "# unknown folder: $folder");
+ $lei->child_error(0, "# unknown folder: $folder");
} else {
for my $f (@$folders) {
my $fid = $lms->fid_for($f);
my $lei = $self->{lei};
my $log_buf = delete $lei->{log_buf};
$$log_buf =~ s/^/# /sgm;
- ref($res) eq 'ARRAY' or return $lei->child_error(1 << 8, $$log_buf);
+ ref($res) eq 'ARRAY' or return $lei->child_error(0, $$log_buf);
$lei->qerr($$log_buf);
my ($git, $oid, $type, $size, $di) = @$res;
my $oid_want = delete $self->{cur_oid_want};
up1($l, $out);
$l->qerr("# $out done");
};
- $l->child_error(1 << 8, $@) if $@;
+ $l->child_error(0, $@) if $@;
}
sub lei_up {