Browse Source

Git/Packet: clarify that packet_required_key_val_read allows EOF

The function calls itself "required", but it does not die when it
sees an unexpected EOF.

Let's rename it to "packet_key_val_read()".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Christian Couder 7 years ago committed by Junio C Hamano
parent
commit
cb1c64b4a8
  1. 9
      perl/Git/Packet.pm
  2. 4
      t/t0021/rot13-filter.pl

9
perl/Git/Packet.pm

@ -17,7 +17,7 @@ our @EXPORT = qw(
packet_compare_lists packet_compare_lists
packet_bin_read packet_bin_read
packet_txt_read packet_txt_read
packet_required_key_val_read packet_key_val_read
packet_bin_write packet_bin_write
packet_txt_write packet_txt_write
packet_flush packet_flush
@ -83,7 +83,12 @@ sub packet_txt_read {
return ( $res, $buf ); 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 ( $key ) = @_;
my ( $res, $buf ) = packet_txt_read(); my ( $res, $buf ) = packet_txt_read();
unless ( $res == -1 or ( $buf =~ s/^$key=// and $buf ne '' ) ) { unless ( $res == -1 or ( $buf =~ s/^$key=// and $buf ne '' ) ) {

4
t/t0021/rot13-filter.pl

@ -70,7 +70,7 @@ print $debug "init handshake complete\n";
$debug->flush(); $debug->flush();


while (1) { while (1) {
my ( $res, $command ) = packet_required_key_val_read("command"); my ( $res, $command ) = packet_key_val_read("command");
if ( $res == -1 ) { if ( $res == -1 ) {
print $debug "STOP\n"; print $debug "STOP\n";
exit(); exit();
@ -106,7 +106,7 @@ while (1) {
packet_txt_write("status=success"); packet_txt_write("status=success");
packet_flush(); packet_flush();
} else { } else {
my ( $res, $pathname ) = packet_required_key_val_read("pathname"); my ( $res, $pathname ) = packet_key_val_read("pathname");
if ( $res == -1 ) { if ( $res == -1 ) {
die "unexpected EOF while expecting pathname"; die "unexpected EOF while expecting pathname";
} }

Loading…
Cancel
Save