annotate: use argv_array
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
45067fc973
commit
8c2cfa5544
@ -5,20 +5,18 @@
|
|||||||
*/
|
*/
|
||||||
#include "git-compat-util.h"
|
#include "git-compat-util.h"
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
|
#include "argv-array.h"
|
||||||
|
|
||||||
int cmd_annotate(int argc, const char **argv, const char *prefix)
|
int cmd_annotate(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
const char **nargv;
|
struct argv_array args = ARGV_ARRAY_INIT;
|
||||||
int i;
|
int i;
|
||||||
nargv = xmalloc(sizeof(char *) * (argc + 2));
|
|
||||||
|
|
||||||
nargv[0] = "annotate";
|
argv_array_pushl(&args, "annotate", "-c", NULL);
|
||||||
nargv[1] = "-c";
|
|
||||||
|
|
||||||
for (i = 1; i < argc; i++) {
|
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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user