… | |
… | |
124 | while ($buffer =~ s/^(.*)\n//) { |
124 | while ($buffer =~ s/^(.*)\n//) { |
125 | my $line = $1; |
125 | my $line = $1; |
126 | $line =~ s/\s+$//; |
126 | $line =~ s/\s+$//; |
127 | utf8::decode $line; |
127 | utf8::decode $line; |
128 | if ($line =~ /^\x{e877}json_msg (.*)$/s) { |
128 | if ($line =~ /^\x{e877}json_msg (.*)$/s) { |
129 | $cb->(from_json $1); |
129 | $cb->(JSON::XS->new->allow_nonref->decode ($1)); |
130 | } else { |
130 | } else { |
131 | ::message ({ |
131 | ::message ({ |
132 | markup => "background($pid): " . CFPlus::asxml $line, |
132 | markup => "background($pid): " . CFPlus::asxml $line, |
133 | }); |
133 | }); |
134 | } |
134 | } |
… | |
… | |
137 | } |
137 | } |
138 | |
138 | |
139 | sub background_msg { |
139 | sub background_msg { |
140 | my ($msg) = @_; |
140 | my ($msg) = @_; |
141 | |
141 | |
142 | $msg = "\x{e877}json_msg " . to_json $msg; |
142 | $msg = "\x{e877}json_msg " . JSON::XS->new->allow_nonref->encode ($msg); |
143 | $msg =~ s/\n//g; |
143 | $msg =~ s/\n//g; |
144 | utf8::encode $msg; |
144 | utf8::encode $msg; |
145 | print $msg, "\n"; |
145 | print $msg, "\n"; |
146 | } |
146 | } |
147 | |
147 | |