From b319ce4c14f7fe0ee469a3f9def1098d84177849 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Mon, 3 Dec 2007 05:51:50 +0100 Subject: [PATCH] Trace and quote with argv: get rid of unneeded count argument. Now that str_buf takes care of all the allocations, there is no more gain to pass an argument count. So this patch removes the "count" argument from: - "sq_quote_argv" - "trace_argv_printf" and all the callers. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- builtin-rev-parse.c | 2 +- cache.h | 2 +- exec_cmd.c | 2 +- git.c | 6 +++--- quote.c | 13 +++---------- quote.h | 3 +-- trace.c | 4 ++-- 7 files changed, 12 insertions(+), 20 deletions(-) diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index d1038a0e6..20d1789e0 100644 --- a/builtin-rev-parse.c +++ b/builtin-rev-parse.c @@ -327,7 +327,7 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix) keep_dashdash ? PARSE_OPT_KEEP_DASHDASH : 0); strbuf_addf(&parsed, " --"); - sq_quote_argv(&parsed, argv, argc, 0); + sq_quote_argv(&parsed, argv, 0); puts(parsed.buf); return 0; } diff --git a/cache.h b/cache.h index d0e7a71c6..ed8be0629 100644 --- a/cache.h +++ b/cache.h @@ -620,7 +620,7 @@ extern void alloc_report(void); /* trace.c */ extern void trace_printf(const char *format, ...); -extern void trace_argv_printf(const char **argv, int count, const char *format, ...); +extern void trace_argv_printf(const char **argv, const char *format, ...); /* convert.c */ /* returns 1 if *dst was used */ diff --git a/exec_cmd.c b/exec_cmd.c index 2d0a75851..e189caca6 100644 --- a/exec_cmd.c +++ b/exec_cmd.c @@ -80,7 +80,7 @@ int execv_git_cmd(const char **argv) tmp = argv[0]; argv[0] = cmd.buf; - trace_argv_printf(argv, -1, "trace: exec:"); + trace_argv_printf(argv, "trace: exec:"); /* execvp() can only ever return if it fails */ execvp(cmd.buf, (char **)argv); diff --git a/git.c b/git.c index f510fe370..c4877a971 100644 --- a/git.c +++ b/git.c @@ -169,7 +169,7 @@ static int handle_alias(int *argcp, const char ***argv) strbuf_init(&buf, PATH_MAX); strbuf_addstr(&buf, alias_string); - sq_quote_argv(&buf, (*argv) + 1, *argcp - 1, PATH_MAX); + sq_quote_argv(&buf, (*argv) + 1, PATH_MAX); free(alias_string); alias_string = buf.buf; } @@ -198,7 +198,7 @@ static int handle_alias(int *argcp, const char ***argv) if (!strcmp(alias_command, new_argv[0])) die("recursive alias: %s", alias_command); - trace_argv_printf(new_argv, count, + trace_argv_printf(new_argv, "trace: alias expansion: %s =>", alias_command); @@ -252,7 +252,7 @@ static int run_command(struct cmd_struct *p, int argc, const char **argv) if (p->option & NEED_WORK_TREE) setup_work_tree(); - trace_argv_printf(argv, argc, "trace: built-in: git"); + trace_argv_printf(argv, "trace: built-in: git"); status = p->fn(argc, argv, prefix); if (status) diff --git a/quote.c b/quote.c index 04557833a..6986b4420 100644 --- a/quote.c +++ b/quote.c @@ -56,20 +56,13 @@ void sq_quote_print(FILE *stream, const char *src) fputc('\'', stream); } -void sq_quote_argv(struct strbuf *dst, const char** argv, int count, - size_t maxlen) +void sq_quote_argv(struct strbuf *dst, const char** argv, size_t maxlen) { int i; - /* Count argv if needed. */ - if (count < 0) { - for (count = 0; argv[count]; count++) - ; /* just counting */ - } - /* Copy into destination buffer. */ - strbuf_grow(dst, 32 * count); - for (i = 0; i < count; ++i) { + strbuf_grow(dst, 255); + for (i = 0; argv[i]; ++i) { strbuf_addch(dst, ' '); sq_quote_buf(dst, argv[i]); if (maxlen && dst->len > maxlen) diff --git a/quote.h b/quote.h index 428799099..ab7596f57 100644 --- a/quote.h +++ b/quote.h @@ -31,8 +31,7 @@ extern void sq_quote_print(FILE *stream, const char *src); extern void sq_quote_buf(struct strbuf *, const char *src); -extern void sq_quote_argv(struct strbuf *, const char **argv, int count, - size_t maxlen); +extern void sq_quote_argv(struct strbuf *, const char **argv, size_t maxlen); /* This unwraps what sq_quote() produces in place, but returns * NULL if the input does not look like what sq_quote would have diff --git a/trace.c b/trace.c index d3d1b6d55..4713f9165 100644 --- a/trace.c +++ b/trace.c @@ -93,7 +93,7 @@ void trace_printf(const char *fmt, ...) close(fd); } -void trace_argv_printf(const char **argv, int count, const char *fmt, ...) +void trace_argv_printf(const char **argv, const char *fmt, ...) { struct strbuf buf; va_list ap; @@ -117,7 +117,7 @@ void trace_argv_printf(const char **argv, int count, const char *fmt, ...) } strbuf_setlen(&buf, len); - sq_quote_argv(&buf, argv, count, 0); + sq_quote_argv(&buf, argv, 0); strbuf_addch(&buf, '\n'); write_or_whine_pipe(fd, buf.buf, buf.len, err_msg); strbuf_release(&buf); -- 2.30.2