The argv 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.

Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
 remote-curl.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/remote-curl.c b/remote-curl.c
index 2e04d53ac8..3bc5055da6 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -491,7 +491,6 @@ static void output_refs(struct ref *refs)
 
 struct rpc_state {
        const char *service_name;
-       const char **argv;
        struct strbuf *stdin_preamble;
        char *service_url;
        char *hdr_content_type;
@@ -815,7 +814,8 @@ static int post_rpc(struct rpc_state *rpc)
        return err;
 }
 
-static int rpc_service(struct rpc_state *rpc, struct discovery *heads)
+static int rpc_service(struct rpc_state *rpc, struct discovery *heads,
+                      const char **client_argv)
 {
        const char *svc = rpc->service_name;
        struct strbuf buf = STRBUF_INIT;
@@ -826,7 +826,7 @@ static int rpc_service(struct rpc_state *rpc, struct 
discovery *heads)
        client.in = -1;
        client.out = -1;
        client.git_cmd = 1;
-       client.argv = rpc->argv;
+       client.argv = client_argv;
        if (start_command(&client))
                exit(1);
        if (preamble)
@@ -964,11 +964,10 @@ static int fetch_git(struct discovery *heads,
 
        memset(&rpc, 0, sizeof(rpc));
        rpc.service_name = "git-upload-pack",
-       rpc.argv = args.argv;
        rpc.stdin_preamble = &preamble;
        rpc.gzip_request = 1;
 
-       err = rpc_service(&rpc, heads);
+       err = rpc_service(&rpc, heads, args.argv);
        if (rpc.result.len)
                write_or_die(1, rpc.result.buf, rpc.result.len);
        strbuf_release(&rpc.result);
@@ -1098,10 +1097,9 @@ static int push_git(struct discovery *heads, int 
nr_spec, char **specs)
 
        memset(&rpc, 0, sizeof(rpc));
        rpc.service_name = "git-receive-pack",
-       rpc.argv = args.argv;
        rpc.stdin_preamble = &preamble;
 
-       err = rpc_service(&rpc, heads);
+       err = rpc_service(&rpc, heads, args.argv);
        if (rpc.result.len)
                write_or_die(1, rpc.result.buf, rpc.result.len);
        strbuf_release(&rpc.result);
-- 
2.19.0.271.gfe8321ec05.dirty

Reply via email to