diff options
-rw-r--r-- | perl/Git/Packet.pm | 9 | ||||
-rw-r--r-- | t/t0021/rot13-filter.pl | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/perl/Git/Packet.pm b/perl/Git/Packet.pm index 255b28c098..14dd06d1d4 100644 --- a/perl/Git/Packet.pm +++ b/perl/Git/Packet.pm @@ -17,7 +17,7 @@ our @EXPORT = qw( packet_compare_lists packet_bin_read packet_txt_read - packet_required_key_val_read + packet_key_val_read packet_bin_write packet_txt_write packet_flush @@ -83,7 +83,12 @@ sub packet_txt_read { return ( $res, $buf ); } -sub packet_required_key_val_read { +# Read a text packet, expecting that it is in the form "key=value" for +# the given $key. An EOF does not trigger any error and is reported +# back to the caller (like packet_txt_read() does). Die if the "key" +# part of "key=value" does not match the given $key, or the value part +# is empty. +sub packet_key_val_read { my ( $key ) = @_; my ( $res, $buf ) = packet_txt_read(); unless ( $res == -1 or ( $buf =~ s/^$key=// and $buf ne '' ) ) { diff --git a/t/t0021/rot13-filter.pl b/t/t0021/rot13-filter.pl index 6fd7fa476b..f1678851de 100644 --- a/t/t0021/rot13-filter.pl +++ b/t/t0021/rot13-filter.pl @@ -70,7 +70,7 @@ print $debug "init handshake complete\n"; $debug->flush(); while (1) { - my ( $res, $command ) = packet_required_key_val_read("command"); + my ( $res, $command ) = packet_key_val_read("command"); if ( $res == -1 ) { print $debug "STOP\n"; exit(); @@ -106,7 +106,7 @@ while (1) { packet_txt_write("status=success"); packet_flush(); } else { - my ( $res, $pathname ) = packet_required_key_val_read("pathname"); + my ( $res, $pathname ) = packet_key_val_read("pathname"); if ( $res == -1 ) { die "unexpected EOF while expecting pathname"; } |