9b0b50936e
The argc parameter is never used by the run_command_v family of functions. Instead they require that the passed argv[] be NULL terminated so they can rely on the operating system's execvp function to correctly pass the arguments to the new process. Making the caller pass the argc is just confusing, as the caller could be mislead into believing that the argc might take precendece over the argv, or that the argv does not need to be NULL terminated. So goodbye argc. Don't come back. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
21 lines
503 B
C
21 lines
503 B
C
#ifndef RUN_COMMAND_H
|
|
#define RUN_COMMAND_H
|
|
|
|
#define MAX_RUN_COMMAND_ARGS 256
|
|
enum {
|
|
ERR_RUN_COMMAND_FORK = 10000,
|
|
ERR_RUN_COMMAND_EXEC,
|
|
ERR_RUN_COMMAND_WAITPID,
|
|
ERR_RUN_COMMAND_WAITPID_WRONG_PID,
|
|
ERR_RUN_COMMAND_WAITPID_SIGNAL,
|
|
ERR_RUN_COMMAND_WAITPID_NOEXIT,
|
|
};
|
|
|
|
#define RUN_COMMAND_NO_STDIO 1
|
|
#define RUN_GIT_CMD 2 /*If this is to be git sub-command */
|
|
int run_command_v_opt(const char **argv, int opt);
|
|
int run_command_v(const char **argv);
|
|
int run_command(const char *cmd, ...);
|
|
|
|
#endif
|