Skip to content

Commit 5d91669

Browse files
jonathantanmygitster
authored andcommitted
remote-curl: reduce scope of rpc_state.stdin_preamble
The stdin_preamble field in struct rpc_state is only used in rpc_service(), and not in any functions it directly or indirectly calls. Refactor it to become an argument of rpc_service() instead. An observation of all callers of rpc_service() shows that the preamble is always set, so we no longer need the "if (preamble)" check. Signed-off-by: Jonathan Tan <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 7d50d34 commit 5d91669

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

remote-curl.c

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,6 @@ static void output_refs(struct ref *refs)
505505

506506
struct rpc_state {
507507
const char *service_name;
508-
struct strbuf *stdin_preamble;
509508
char *service_url;
510509
char *hdr_content_type;
511510
char *hdr_accept;
@@ -829,11 +828,10 @@ static int post_rpc(struct rpc_state *rpc)
829828
}
830829

831830
static int rpc_service(struct rpc_state *rpc, struct discovery *heads,
832-
const char **client_argv)
831+
const char **client_argv, const struct strbuf *preamble)
833832
{
834833
const char *svc = rpc->service_name;
835834
struct strbuf buf = STRBUF_INIT;
836-
struct strbuf *preamble = rpc->stdin_preamble;
837835
struct child_process client = CHILD_PROCESS_INIT;
838836
int err = 0;
839837

@@ -843,8 +841,7 @@ static int rpc_service(struct rpc_state *rpc, struct discovery *heads,
843841
client.argv = client_argv;
844842
if (start_command(&client))
845843
exit(1);
846-
if (preamble)
847-
write_or_die(client.in, preamble->buf, preamble->len);
844+
write_or_die(client.in, preamble->buf, preamble->len);
848845
if (heads)
849846
write_or_die(client.in, heads->buf, heads->len);
850847

@@ -978,10 +975,9 @@ static int fetch_git(struct discovery *heads,
978975

979976
memset(&rpc, 0, sizeof(rpc));
980977
rpc.service_name = "git-upload-pack",
981-
rpc.stdin_preamble = &preamble;
982978
rpc.gzip_request = 1;
983979

984-
err = rpc_service(&rpc, heads, args.argv);
980+
err = rpc_service(&rpc, heads, args.argv, &preamble);
985981
if (rpc.result.len)
986982
write_or_die(1, rpc.result.buf, rpc.result.len);
987983
strbuf_release(&rpc.result);
@@ -1111,9 +1107,8 @@ static int push_git(struct discovery *heads, int nr_spec, char **specs)
11111107

11121108
memset(&rpc, 0, sizeof(rpc));
11131109
rpc.service_name = "git-receive-pack",
1114-
rpc.stdin_preamble = &preamble;
11151110

1116-
err = rpc_service(&rpc, heads, args.argv);
1111+
err = rpc_service(&rpc, heads, args.argv, &preamble);
11171112
if (rpc.result.len)
11181113
write_or_die(1, rpc.result.buf, rpc.result.len);
11191114
strbuf_release(&rpc.result);

0 commit comments

Comments
 (0)