git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] annotate: use argv_array

From
René Scharfe <l.s.r@web.de>
Date
Jul 16, 2014, 08:51 UTC
Message-ID
<53C63D15.8040204@web.de>

Simplify the code and get rid of some magic constants by using argv_array to build the argument list for cmd_blame. Be lazy and let the OS release our allocated memory, as before.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
---
 builtin/annotate.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/builtin/annotate.c b/builtin/annotate.c
index fc43eed..da413ae 100644
--- a/builtin/annotate.c
+++ b/builtin/annotate.c
@@ -5,20 +5,18 @@
  */
 #include "git-compat-util.h"
 #include "builtin.h"
+#include "argv-array.h"
 
 int cmd_annotate(int argc, const char **argv, const char *prefix)
 {
-	const char **nargv;
+	struct argv_array args = ARGV_ARRAY_INIT;
 	int i;
-	nargv = xmalloc(sizeof(char *) * (argc + 2));
 
-	nargv[0] = "annotate";
-	nargv[1] = "-c";
+	argv_array_pushl(&args, "annotate", "-c", NULL);
 
 	for (i = 1; i < argc; i++) {
-		nargv[i+1] = argv[i];
+		argv_array_push(&args, argv[i]);
 	}
-	nargv[argc + 1] = NULL;
 
-	return cmd_blame(argc + 1, nargv, prefix);
+	return cmd_blame(args.argc, args.argv, prefix);
 }
-- 
2.0.0
Message 1 of 1 in “annotate: use argv_array”
  1. annotate: use argv_arrayRené Scharfe, Jul 16, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.