From: René Scharfe Date: Mon, 29 Apr 2013 16:10:48 GMT Subject: Re: [PATCH 6/6] sparse: Fix mingw_main() argument number/type errors Message-ID: <517E9B88.1040807@lsrfire.ath.cx> In-Reply-To: <7v38uaqwow.fsf@alter.siamese.dyndns.org> Am 28.04.2013 21:31, schrieb Junio C Hamano: > René Scharfe writes: > >> Why not take the opposite direction with a patch like this? >> ... >> diff --git a/compat/mingw.h b/compat/mingw.h >> index 389ae01..74e7b87 100644 >> --- a/compat/mingw.h >> +++ b/compat/mingw.h >> @@ -452,11 +452,11 @@ int xwcstoutf(char *utf, const wchar_t *wcs, size_t utflen); >> >> void mingw_startup(); >> #define main(c,v) dummy_decl_mingw_main(); \ >> -static int mingw_main(); \ >> +static int mingw_main(int, const char **); \ >> int main(int argc, const char **argv) \ > > But traditionally main is declared like > > int main(int argc, char *argv[]); > > without const, no? Yes, http://c-faq.com/ansi/maindecl.html and basically everybody else agree. Now that I actually think about it, the only benefit of declaring argv constant I can find is that the const'ness could easily spread to other variables and function arguments where it may actually matter. So please ignore my interjection. Or perhaps it might be worth mentioning in the commit message that removal of that "const" improves the code's standard compliance. René