зеркало из https://github.com/microsoft/git.git
remote-helpers: make recvline return an error
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>
This commit is contained in:
Родитель
4a1b59c85f
Коммит
5931b33e20
|
@ -58,7 +58,7 @@ static int recvline_fh(FILE *helper, struct strbuf *buffer, const char *name)
|
||||||
if (strbuf_getline(buffer, helper, '\n') == EOF) {
|
if (strbuf_getline(buffer, helper, '\n') == EOF) {
|
||||||
if (debug)
|
if (debug)
|
||||||
fprintf(stderr, "Debug: Remote helper quit.\n");
|
fprintf(stderr, "Debug: Remote helper quit.\n");
|
||||||
exit(128);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
|
@ -157,7 +157,8 @@ static struct child_process *get_helper(struct transport *transport)
|
||||||
while (1) {
|
while (1) {
|
||||||
const char *capname;
|
const char *capname;
|
||||||
int mandatory = 0;
|
int mandatory = 0;
|
||||||
recvline(data, &buf);
|
if (recvline(data, &buf))
|
||||||
|
exit(128);
|
||||||
|
|
||||||
if (!*buf.buf)
|
if (!*buf.buf)
|
||||||
break;
|
break;
|
||||||
|
@ -302,7 +303,8 @@ static int set_helper_option(struct transport *transport,
|
||||||
strbuf_addch(&buf, '\n');
|
strbuf_addch(&buf, '\n');
|
||||||
|
|
||||||
sendline(data, &buf);
|
sendline(data, &buf);
|
||||||
recvline(data, &buf);
|
if (recvline(data, &buf))
|
||||||
|
exit(128);
|
||||||
|
|
||||||
if (!strcmp(buf.buf, "ok"))
|
if (!strcmp(buf.buf, "ok"))
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
@ -374,7 +376,8 @@ static int fetch_with_fetch(struct transport *transport,
|
||||||
sendline(data, &buf);
|
sendline(data, &buf);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
recvline(data, &buf);
|
if (recvline(data, &buf))
|
||||||
|
exit(128);
|
||||||
|
|
||||||
if (starts_with(buf.buf, "lock ")) {
|
if (starts_with(buf.buf, "lock ")) {
|
||||||
const char *name = buf.buf + 5;
|
const char *name = buf.buf + 5;
|
||||||
|
@ -558,7 +561,9 @@ static int process_connect_service(struct transport *transport,
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
sendline(data, &cmdbuf);
|
sendline(data, &cmdbuf);
|
||||||
recvline_fh(input, &cmdbuf, name);
|
if (recvline_fh(input, &cmdbuf, name))
|
||||||
|
exit(128);
|
||||||
|
|
||||||
if (!strcmp(cmdbuf.buf, "")) {
|
if (!strcmp(cmdbuf.buf, "")) {
|
||||||
data->no_disconnect_req = 1;
|
data->no_disconnect_req = 1;
|
||||||
if (debug)
|
if (debug)
|
||||||
|
@ -743,7 +748,8 @@ static void push_update_refs_status(struct helper_data *data,
|
||||||
for (;;) {
|
for (;;) {
|
||||||
char *private;
|
char *private;
|
||||||
|
|
||||||
recvline(data, &buf);
|
if (recvline(data, &buf))
|
||||||
|
exit(128);
|
||||||
if (!buf.len)
|
if (!buf.len)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -969,7 +975,8 @@ static struct ref *get_refs_list(struct transport *transport, int for_push)
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
char *eov, *eon;
|
char *eov, *eon;
|
||||||
recvline(data, &buf);
|
if (recvline(data, &buf))
|
||||||
|
exit(128);
|
||||||
|
|
||||||
if (!*buf.buf)
|
if (!*buf.buf)
|
||||||
break;
|
break;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче