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()
This commit is contained in:
Junio C Hamano
2016-07-19 13:22:19 -07:00
53 changed files with 124 additions and 151 deletions

View File

@ -2,7 +2,7 @@
#include "submodule-config.h"
#include "submodule.h"
static void die_usage(int argc, char **argv, const char *msg)
static void die_usage(int argc, const char **argv, const char *msg)
{
fprintf(stderr, "%s\n", msg);
fprintf(stderr, "Usage: %s [<commit> <submodulepath>] ...\n", argv[0]);
@ -14,9 +14,9 @@ static int git_test_config(const char *var, const char *value, void *cb)
return parse_submodule_config_option(var, value);
}
int main(int argc, char **argv)
int cmd_main(int argc, const char **argv)
{
char **arg = argv;
const char **arg = argv;
int my_argc = argc;
int output_url = 0;
int lookup_name = 0;