Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-07-19 23:22:19 +0300
committerJunio C Hamano <gitster@pobox.com>2016-07-19 23:22:19 +0300
commitd4c6375fd8996d7d809fb34b9743339d7192c58b (patch)
tree958ff37108df971e18b2989cfc390d4dde80c41e /shell.c
parentdf9da64a7c2aee12fd967cb9ff1730312d4b271d (diff)
parentde61cebde72a15b85b6e6a06ef4c3614b6afdac8 (diff)
Merge branch 'jk/common-main'
There are certain house-keeping tasks that need to be performed at the very beginning of any Git program, and programs that are not built-in commands had to do them exactly the same way as "git" potty does. It was easy to make mistakes in one-off standalone programs (like test helpers). A common "main()" function that calls cmd_main() of individual program has been introduced to make it harder to make mistakes. * jk/common-main: mingw: declare main()'s argv as const common-main: call git_setup_gettext() common-main: call restore_sigpipe_to_default() common-main: call sanitize_stdfds() common-main: call git_extract_argv0_path() add an extra level of indirection to main()
Diffstat (limited to 'shell.c')
-rw-r--r--shell.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/shell.c b/shell.c
index c5439a63e9..464ee1a201 100644
--- a/shell.c
+++ b/shell.c
@@ -138,24 +138,13 @@ static struct commands {
{ NULL },
};
-int main(int argc, char **argv)
+int cmd_main(int argc, const char **argv)
{
char *prog;
const char **user_argv;
struct commands *cmd;
int count;
- git_setup_gettext();
-
- git_extract_argv0_path(argv[0]);
-
- /*
- * Always open file descriptors 0/1/2 to avoid clobbering files
- * in die(). It also avoids messing up when the pipes are dup'ed
- * onto stdin/stdout/stderr in the child processes we spawn.
- */
- sanitize_stdfds();
-
/*
* Special hack to pretend to be a CVS server
*/