Re: [PATCH 07/26] connect: convert get_remote_heads to use struct packet_reader
From: Jonathan Tan <hidden>
Date: 2018-01-09 18:27:42
From: Jonathan Tan <hidden>
Date: 2018-01-09 18:27:42
On Tue, 2 Jan 2018 16:18:09 -0800 Brandon Williams [off-list ref] wrote:
- while ((len = read_remote_ref(in, &src_buf, &src_len, &responded))) {
+ while (state != EXPECTING_DONE) {
+ switch (packet_reader_read(&reader)) {
+ case PACKET_READ_EOF:
+ die_initial_contact(1);
+ case PACKET_READ_NORMAL:
+ len = reader.pktlen;
+ if (len > 4 && skip_prefix(packet_buffer, "ERR ", &arg))This should be a field in reader, not the global packet_buffer, I think. Also, I did a search of usages of packet_buffer, and there are just a few of them - it might be worthwhile to eliminate it, and have each component using it allocate its own buffer. But this can be done in a separate patch set.
@@ -269,6 +284,8 @@ struct ref **get_remote_heads(int in, char *src_buf, size_t src_len, if (process_shallow(len, shallow_points)) break; die("protocol error: unexpected '%s'", packet_buffer);
Here too.