hook API: add a run_hooks_l() wrapper
Add a run_hooks_l() wrapper, we'll use it in subsequent commits for the simple cases of wanting to run a single hook under a given name along with a list of arguments. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
593ffdd80b
commit
ab81cf242c
14
hook.c
14
hook.c
@ -149,3 +149,17 @@ int run_hooks(const char *hook_name)
|
|||||||
|
|
||||||
return run_hooks_opt(hook_name, &opt);
|
return run_hooks_opt(hook_name, &opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int run_hooks_l(const char *hook_name, ...)
|
||||||
|
{
|
||||||
|
struct run_hooks_opt opt = RUN_HOOKS_OPT_INIT;
|
||||||
|
va_list ap;
|
||||||
|
const char *arg;
|
||||||
|
|
||||||
|
va_start(ap, hook_name);
|
||||||
|
while ((arg = va_arg(ap, const char *)))
|
||||||
|
strvec_push(&opt.args, arg);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
return run_hooks_opt(hook_name, &opt);
|
||||||
|
}
|
||||||
|
10
hook.h
10
hook.h
@ -54,4 +54,14 @@ int run_hooks_opt(const char *hook_name, struct run_hooks_opt *options);
|
|||||||
* run_hooks_opt" initialized with "RUN_HOOKS_OPT_INIT".
|
* run_hooks_opt" initialized with "RUN_HOOKS_OPT_INIT".
|
||||||
*/
|
*/
|
||||||
int run_hooks(const char *hook_name);
|
int run_hooks(const char *hook_name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Like run_hooks(), a wrapper for run_hooks_opt().
|
||||||
|
*
|
||||||
|
* In addition to the wrapping behavior provided by run_hooks(), this
|
||||||
|
* wrapper takes a list of strings terminated by a NULL
|
||||||
|
* argument. These things will be used as positional arguments to the
|
||||||
|
* hook. This function behaves like the old run_hook_le() API.
|
||||||
|
*/
|
||||||
|
int run_hooks_l(const char *hook_name, ...);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user