Skip to content

Commit

Permalink
remote-helpers: make recvline return an error
Browse files Browse the repository at this point in the history
Instead of exiting directly, make it the duty of the caller to do so.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Felipe Contreras authored and Junio C Hamano committed Apr 14, 2014
1 parent 4a1b59c commit 5931b33
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions transport-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ static int recvline_fh(FILE *helper, struct strbuf *buffer, const char *name)
if (strbuf_getline(buffer, helper, '\n') == EOF) {
if (debug)
fprintf(stderr, "Debug: Remote helper quit.\n");
exit(128);
return 1;
}

if (debug)
Expand Down Expand Up @@ -157,7 +157,8 @@ static struct child_process *get_helper(struct transport *transport)
while (1) {
const char *capname;
int mandatory = 0;
recvline(data, &buf);
if (recvline(data, &buf))
exit(128);

if (!*buf.buf)
break;
Expand Down Expand Up @@ -302,7 +303,8 @@ static int set_helper_option(struct transport *transport,
strbuf_addch(&buf, '\n');

sendline(data, &buf);
recvline(data, &buf);
if (recvline(data, &buf))
exit(128);

if (!strcmp(buf.buf, "ok"))
ret = 0;
Expand Down Expand Up @@ -374,7 +376,8 @@ static int fetch_with_fetch(struct transport *transport,
sendline(data, &buf);

while (1) {
recvline(data, &buf);
if (recvline(data, &buf))
exit(128);

if (starts_with(buf.buf, "lock ")) {
const char *name = buf.buf + 5;
Expand Down Expand Up @@ -558,7 +561,9 @@ static int process_connect_service(struct transport *transport,
goto exit;

sendline(data, &cmdbuf);
recvline_fh(input, &cmdbuf, name);
if (recvline_fh(input, &cmdbuf, name))
exit(128);

if (!strcmp(cmdbuf.buf, "")) {
data->no_disconnect_req = 1;
if (debug)
Expand Down Expand Up @@ -743,7 +748,8 @@ static void push_update_refs_status(struct helper_data *data,
for (;;) {
char *private;

recvline(data, &buf);
if (recvline(data, &buf))
exit(128);
if (!buf.len)
break;

Expand Down Expand Up @@ -969,7 +975,8 @@ static struct ref *get_refs_list(struct transport *transport, int for_push)

while (1) {
char *eov, *eon;
recvline(data, &buf);
if (recvline(data, &buf))
exit(128);

if (!*buf.buf)
break;
Expand Down

0 comments on commit 5931b33

Please sign in to comment.