path: root/run-command.h
diff options
authorJeff King <>2015-08-10 09:37:45 (GMT)
committerJunio C Hamano <>2015-08-10 22:37:13 (GMT)
commit03f2c7731b59de75357730bc511ffa8847e1fb81 (patch)
treedc1ffb12f1ab50f46c811b73402ce5beca71c45b /run-command.h
parent470e28d4e16dd994cd985914377fa8ccb5f86227 (diff)
find_hook: keep our own static buffer
The find_hook function returns the results of git_path, which is a static buffer shared by other path-related calls. Returning such a buffer is slightly dangerous, because it can be overwritten by seemingly unrelated functions. Let's at least keep our _own_ static buffer, so you can only get in trouble by calling find_hook in quick succession, which is less likely to happen and more obvious to notice. While we're at it, let's add some documentation of the function's limitations. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'run-command.h')
1 files changed, 5 insertions, 0 deletions
diff --git a/run-command.h b/run-command.h
index 1103805..5b4425a 100644
--- a/run-command.h
+++ b/run-command.h
@@ -52,6 +52,11 @@ int start_command(struct child_process *);
int finish_command(struct child_process *);
int run_command(struct child_process *);
+ * Returns the path to the hook file, or NULL if the hook is missing
+ * or disabled. Note that this points to static storage that will be
+ * overwritten by further calls to find_hook and run_hook_*.
+ */
extern const char *find_hook(const char *name);
extern int run_hook_le(const char *const *env, const char *name, ...);