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
							parent
							
								
									0fe8d516bb
								
							
						
					
					
						commit
						cb1c64b4a8
					
				|  | @ -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 '' ) ) { | ||||||
|  |  | ||||||
|  | @ -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…
	
		Reference in New Issue
	
	 Christian Couder
						Christian Couder