/* | |
* "git annotate" builtin alias | |
* | |
* Copyright (C) 2006 Ryan Anderson | |
*/ | |
#include "git-compat-util.h" | |
#include "builtin.h" | |
#include "strvec.h" | |
int cmd_annotate(int argc, | |
const char **argv, | |
const char *prefix, | |
struct repository *repo) | |
{ | |
struct strvec args = STRVEC_INIT; | |
const char **args_copy; | |
int ret; | |
strvec_pushl(&args, "annotate", "-c", NULL); | |
for (int i = 1; i < argc; i++) | |
strvec_push(&args, argv[i]); | |
/* | |
* `cmd_blame()` ends up modifying the array, which causes memory leaks | |
* if we didn't copy the array here. | |
*/ | |
CALLOC_ARRAY(args_copy, args.nr + 1); | |
COPY_ARRAY(args_copy, args.v, args.nr); | |
ret = cmd_blame(args.nr, args_copy, prefix, repo); | |
strvec_clear(&args); | |
free(args_copy); | |
return ret; | |
} |