Hi Peff, On Fri, 1 Jul 2016, Jeff King wrote: > I waffled between the two mechanisms. Opinions welcome. I am happy you took the cmd_main() approach: we do have to play some tricks on Windows, in particular in some upcoming changes that support building with MS Visual C++ (we want to ensure that `argv` is in UTF-8, which means that we actually have to use the UTF-16 versions and convert them manually lest argv has the current Windows encoding of strings). Which means that we still have to use that mingw_startup() trick you mentioned, and which would have interfered had you chosen a similar method. > diff --git a/common-main.c b/common-main.c > new file mode 100644 > index 0000000..2b96bbf > --- /dev/null > +++ b/common-main.c > @@ -0,0 +1,12 @@ > +#include "git-compat-util.h" > + > +int main(int argc, char **av) > +{ > + /* > + * This const trickery is explained in > + * 84d32bf7678259c08406571cd6ce4b7a6724dcba This commit message says that mingw_main() is declared with char **argv, and that is the reason why we have to convert. Maybe spell that out here, and then in a subsequent commit, we can fix the mingw_main() declaration? > + */ > + const char **argv = (const char **)av; > + > + return cmd_main(argc, argv); > +} Ciao, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html