Git/Packet: clarify that packet_required_key_val_read allows EOF
authorChristian Couder <christian.couder@gmail.com>
Tue, 21 Nov 2017 16:09:38 +0000 (17:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Nov 2017 07:23:55 +0000 (16:23 +0900)
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>
perl/Git/Packet.pm
t/t0021/rot13-filter.pl
index 255b28c0988376ab7065078f411d5a53752bbf42..14dd06d1d4afde0dbf9a70251d49ae672e000c39 100644 (file)
@@ -17,7 +17,7 @@ BEGIN
                        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 '' ) ) {
index 6fd7fa476be2a091f683174d57100cbc7ba19fb8..f1678851de954dd93ab0e2fc7912813ad5f09960 100644 (file)
@@ -70,7 +70,7 @@ sub rot13 {
 $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 @@ sub rot13 {
                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";
                }