mingw: declare main()'s argv as const

In 84d32bf (sparse: Fix mingw_main() argument number/type errors,
2013-04-27), we addressed problems identified by the 'sparse' tool where
argv was declared inconsistently. The way we addressed it was by casting
from the non-const version to the const-version.

This patch is long overdue, fixing compat/mingw.h's declaration to
make the "argv" parameter const.  This also allows us to lose the
"const" trickery introduced earlier to common-main.c:main().

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2016-07-01 15:01:28 +02:00 коммит произвёл Junio C Hamano
Родитель 5ce5f5fa5a
Коммит 08aade7080
2 изменённых файлов: 2 добавлений и 8 удалений

Просмотреть файл

@ -22,14 +22,8 @@ static void restore_sigpipe_to_default(void)
signal(SIGPIPE, SIG_DFL); signal(SIGPIPE, SIG_DFL);
} }
int main(int argc, char **av) int main(int argc, const char **argv)
{ {
/*
* This const trickery is explained in
* 84d32bf7678259c08406571cd6ce4b7a6724dcba
*/
const char **argv = (const char **)av;
/* /*
* Always open file descriptors 0/1/2 to avoid clobbering files * Always open file descriptors 0/1/2 to avoid clobbering files
* in die(). It also avoids messing up when the pipes are dup'ed * in die(). It also avoids messing up when the pipes are dup'ed

Просмотреть файл

@ -535,7 +535,7 @@ extern CRITICAL_SECTION pinfo_cs;
void mingw_startup(); void mingw_startup();
#define main(c,v) dummy_decl_mingw_main(); \ #define main(c,v) dummy_decl_mingw_main(); \
static int mingw_main(c,v); \ static int mingw_main(c,v); \
int main(int argc, char **argv) \ int main(int argc, const char **argv) \
{ \ { \
mingw_startup(); \ mingw_startup(); \
return mingw_main(__argc, (void *)__argv); \ return mingw_main(__argc, (void *)__argv); \