All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miriam Rubio <mirucam@gmail.com>
To: git@vger.kernel.org
Cc: Pranit Bauva <pranit.bauva@gmail.com>,
	Tanushree Tumane <tanushreetumane@gmail.com>,
	Miriam Rubio <mirucam@gmail.com>
Subject: [PATCH v6 3/6] run-command: make `exists_in_PATH()` non-static
Date: Thu,  2 Sep 2021 11:04:18 +0200	[thread overview]
Message-ID: <20210902090421.93113-4-mirucam@gmail.com> (raw)
In-Reply-To: <20210902090421.93113-1-mirucam@gmail.com>

From: Pranit Bauva <pranit.bauva@gmail.com>

Removes the `static` keyword from `exists_in_PATH()` function
and declares the function in `run-command.h` file.
The function will be used in bisect_visualize() in a later
commit.

Mentored by: Christian Couder <chriscool@tuxfamily.org>
Mentored by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Tanushree Tumane <tanushreetumane@gmail.com>
Signed-off-by: Miriam Rubio <mirucam@gmail.com>
---
 run-command.c |  2 +-
 run-command.h | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/run-command.c b/run-command.c
index f72e72cce7..390f46819f 100644
--- a/run-command.c
+++ b/run-command.c
@@ -210,7 +210,7 @@ static char *locate_in_PATH(const char *file)
 	return NULL;
 }
 
-static int exists_in_PATH(const char *file)
+int exists_in_PATH(const char *file)
 {
 	char *r = locate_in_PATH(file);
 	int found = r != NULL;
diff --git a/run-command.h b/run-command.h
index af1296769f..54d74b706f 100644
--- a/run-command.h
+++ b/run-command.h
@@ -182,6 +182,18 @@ void child_process_clear(struct child_process *);
 
 int is_executable(const char *name);
 
+/**
+ * Search if a $PATH for a command exists.  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 file 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 *file);
+
 /**
  * Start a sub-process. Takes a pointer to a `struct child_process`
  * that specifies the details and returns pipe FDs (if requested).
-- 
2.29.2


  parent reply	other threads:[~2021-09-02  9:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-02  9:04 [PATCH v6 0/6] Finish converting git bisect to C part 4 Miriam Rubio
2021-09-02  9:04 ` [PATCH v6 1/6] t6030-bisect-porcelain: add tests to control bisect run exit cases Miriam Rubio
2021-09-02 21:44   ` Junio C Hamano
2021-09-02  9:04 ` [PATCH v6 2/6] t6030-bisect-porcelain: add test for bisect visualize Miriam Rubio
2021-09-02 22:05   ` Junio C Hamano
2021-09-02  9:04 ` Miriam Rubio [this message]
2021-09-02 22:19   ` [PATCH v6 3/6] run-command: make `exists_in_PATH()` non-static Junio C Hamano
2021-09-02  9:04 ` [PATCH v6 4/6] bisect--helper: reimplement `bisect_visualize()`shell function in C Miriam Rubio
2021-09-02 22:28   ` Junio C Hamano
2021-09-02  9:04 ` [PATCH v6 5/6] bisect--helper: reimplement `bisect_run` shell Miriam Rubio
2021-09-02 23:43   ` Junio C Hamano
2021-09-06  7:33     ` Johannes Schindelin
2021-09-06  8:34       ` Miriam R.
2021-09-07 18:32         ` Junio C Hamano
2021-09-09  7:51           ` Johannes Schindelin
2021-09-02  9:04 ` [PATCH v6 6/6] bisect--helper: retire `--bisect-next-check` subcommand Miriam Rubio
2021-09-02 23:43   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210902090421.93113-4-mirucam@gmail.com \
    --to=mirucam@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=pranit.bauva@gmail.com \
    --cc=tanushreetumane@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.