To make it possible in a following commit to move packet
reading and writing functions into a Packet.pm module,
let's refactor these functions, so they don't handle
printing debug output and exiting.

Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 t/t0021/rot13-filter.pl | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/t/t0021/rot13-filter.pl b/t/t0021/rot13-filter.pl
index ad685d92f8..e4495a52f3 100644
--- a/t/t0021/rot13-filter.pl
+++ b/t/t0021/rot13-filter.pl
@@ -60,8 +60,7 @@ sub packet_bin_read {
        my $bytes_read = read STDIN, $buffer, 4;
        if ( $bytes_read == 0 ) {
                # EOF - Git stopped talking to us!
-               print $debug "STOP\n";
-               exit();
+               return ( -1, "" );
        }
        elsif ( $bytes_read != 4 ) {
                die "invalid packet: '$buffer'";
@@ -85,7 +84,7 @@ sub packet_bin_read {
 
 sub packet_txt_read {
        my ( $res, $buf ) = packet_bin_read();
-       unless ( $buf eq '' or $buf =~ s/\n$// ) {
+       unless ( $res == -1 or $buf eq '' or $buf =~ s/\n$// ) {
                die "A non-binary line MUST be terminated by an LF.";
        }
        return ( $res, $buf );
@@ -131,7 +130,12 @@ print $debug "init handshake complete\n";
 $debug->flush();
 
 while (1) {
-       my ( $command ) = packet_txt_read() =~ /^command=(.+)$/;
+       my ( $res, $command ) = packet_txt_read();
+       if ( $res == -1 ) {
+               print $debug "STOP\n";
+               exit();
+       }
+       $command =~ s/^command=//;
        print $debug "IN: $command";
        $debug->flush();
 
-- 
2.14.1.576.g3f707d88cd

Reply via email to