Re: [RFC PATCH v4 03/26] pkt-line: Make packet_read_line easier to debug
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 29, 2009, 03:27 UTC
- Message-ID
- <7vhbtidgmp.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1256774448-7625-4-git-send-email-spearce@spearce.org>
"Shawn O. Pearce" <spearce@spearce.org> writes:
Show 19 quoted lines
> diff --git a/pkt-line.c b/pkt-line.c
> index bd603f8..893dd3c 100644
> --- a/pkt-line.c
> +++ b/pkt-line.c
> @@ -124,12 +124,14 @@ static int packet_length(const char *linelen)
> int packet_read_line(int fd, char *buffer, unsigned size)
> {
> int len;
> - char linelen[4];
> + char linelen[5];
>
> safe_read(fd, linelen, 4);
> len = packet_length(linelen);
> - if (len < 0)
> - die("protocol error: bad line length character");
> + if (len < 0) {
> + linelen[4] = '\0';
> + die("protocol error: bad line length character: %s", linelen);
> + }Since this is not called recursively, you can make linelen[] static and do without the NUL assignment; safe_read() won't read beyond 4 bytes anyway.
Show 5 quoted lines
> if (!len) > return 0; > len -= 4; > -- > 1.6.5.2.181.gd6f41