summaryrefslogtreecommitdiff
path: root/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/JWebmail/Model/ReadMails/QMailAuthuser.pm')
-rw-r--r--lib/JWebmail/Model/ReadMails/QMailAuthuser.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm b/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
index 956c137..a61cf01 100644
--- a/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
+++ b/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
@@ -193,7 +193,7 @@ sub execute {
close $writer
or die 'closing write pipe failed';
- binmode $reader, ':encoding(UTF-8)';
+ #binmode $reader, ':encoding(UTF-8)';
my $input = <$reader>;
close $reader
or die 'closing read pipe failed';
@@ -203,12 +203,15 @@ sub execute {
my $resp;
if ($rc == 3 || $rc == 0) {
- eval { $resp = decode_json $input; 1 }
- or $resp = {
- info => "error decoding response",
- response => $input,
- cause => $@,
- return_code => $rc,
+ eval { $resp = decode_json $input if $input; 1 }
+ or do {
+ $resp = {
+ info => "error decoding response",
+ response => $input,
+ cause => $@,
+ return_code => $rc,
+ };
+ $rc = 3;
};
}
elsif ($rc) {