зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
0fe8d516bb
Коммит
cb1c64b4a8
|
@ -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 '' ) ) {
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче