summaryrefslogtreecommitdiff
path: root/run-command.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-09-23 20:44:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-09-23 20:44:48 (GMT)
commit0a4cb1f1f2f64e5f3791809284ba786a8094dfb4 (patch)
tree17d029ca760431634ca1acd93472065ee63ddeaa /run-command.h
parent57e4a7b633d00f274051d436edcec14ad98969c3 (diff)
parent911aba1420522991f9d79cec42d0cb957d2ba00a (diff)
downloadgit-0a4cb1f1f2f64e5f3791809284ba786a8094dfb4.zip
git-0a4cb1f1f2f64e5f3791809284ba786a8094dfb4.tar.gz
git-0a4cb1f1f2f64e5f3791809284ba786a8094dfb4.tar.bz2
Merge branch 'mr/bisect-in-c-4'
Rewrite of "git bisect" in C continues. * mr/bisect-in-c-4: bisect--helper: retire `--bisect-next-check` subcommand bisect--helper: reimplement `bisect_run` shell function in C bisect--helper: reimplement `bisect_visualize()` shell function in C run-command: make `exists_in_PATH()` non-static t6030-bisect-porcelain: add test for bisect visualize t6030-bisect-porcelain: add tests to control bisect run exit cases
Diffstat (limited to 'run-command.h')
-rw-r--r--run-command.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/run-command.h b/run-command.h
index ad207da..b9aff74 100644
--- a/run-command.h
+++ b/run-command.h
@@ -191,6 +191,18 @@ void child_process_clear(struct child_process *);
int is_executable(const char *name);
/**
+ * Check if the command exists on $PATH. This emulates the path search that
+ * execvp would perform, without actually executing the command so it
+ * can be used before fork() to prepare to run a command using
+ * execve() or after execvp() to diagnose why it failed.
+ *
+ * The caller should ensure that command contains no directory separators.
+ *
+ * Returns 1 if it is found in $PATH or 0 if the command could not be found.
+ */
+int exists_in_PATH(const char *command);
+
+/**
* Start a sub-process. Takes a pointer to a `struct child_process`
* that specifies the details and returns pipe FDs (if requested).
* See below for details.