diff options
author | Jeff King <peff@peff.net> | 2013-02-20 15:02:10 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-02-20 13:42:21 -0800 |
commit | 0380942902b23f02f7f595bc394e09bcd74d4ded (patch) | |
tree | 03e53ee674a0c14b729ac938632b280b37e96e3a /connect.c | |
parent | cdf4fb8e332f9641ac1ca95e999fe98251d31392 (diff) | |
download | git-0380942902b23f02f7f595bc394e09bcd74d4ded.tar.gz |
pkt-line: provide a generic reading function with options
Originally we had a single function for reading packetized
data: packet_read_line. Commit 46284dd grew a more "gentle"
form, packet_read, that returns an error instead of dying
upon reading a truncated input stream. However, it is not
clear from the names which should be called, or what the
difference is.
Let's instead make packet_read be a generic public interface
that can take option flags, and update the single callsite
that uses it. This is less code, more clear, and paves the
way for introducing more options into the generic interface
later. The function signature is changed, so there should be
no hidden conflicts with topics in flight.
While we're at it, we'll document how error conditions are
handled based on the options, and rename the confusing
"return_line_fail" option to "gentle_on_eof". While we are
cleaning up the names, we can drop the "return_line_fail"
checks in packet_read_internal entirely. They look like
this:
ret = safe_read(..., return_line_fail);
if (return_line_fail && ret < 0)
...
The check for return_line_fail is a no-op; safe_read will
only ever return an error value if return_line_fail was true
in the first place.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'connect.c')
-rw-r--r-- | connect.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -76,7 +76,8 @@ struct ref **get_remote_heads(int in, struct ref **list, char *name; int len, name_len; - len = packet_read(in, buffer, sizeof(buffer)); + len = packet_read(in, buffer, sizeof(buffer), + PACKET_READ_GENTLE_ON_EOF); if (len < 0) die_initial_contact(got_at_least_one_head); |