diff options
author | Karsten Blees <blees@dcon.de> | 2011-01-07 19:52:20 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-06-16 10:56:47 -0700 |
commit | 5901dc6613fcb5e4a4c49e09992a13a4840edb48 (patch) | |
tree | e75e3ed8088ede20908bdaf0c6be25c219e680d4 /compat | |
parent | 58aa3d2a69ded1f48a1c9c63176384d02925c9d6 (diff) | |
download | git-5901dc6613fcb5e4a4c49e09992a13a4840edb48.tar.gz |
MinGW: disable CRT command line globbing
MingwRT listens to _CRT_glob to decide if __getmainargs should
perform globbing, with the default being that it should.
Unfortunately, __getmainargs globbing is sub-par; for instance
patterns like "*.c" will only match c-sources in the current
directory.
Disable __getmainargs' command line wildcard expansion, so these
patterns will be left untouched, and handled by Git's superior
built-in globbing instead.
MSVC defaults to no globbing, so we don't need to do anything
in that case.
This fixes t5505 and t7810.
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat')
-rw-r--r-- | compat/mingw.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c index 6849815b39..1140a131bf 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1927,6 +1927,12 @@ int xwcstoutf(char *utf, const wchar_t *wcs, size_t utflen) return -1; } +/* + * Disable MSVCRT command line wildcard expansion (__getmainargs called from + * mingw startup code, see init.c in mingw runtime). + */ +int _CRT_glob = 0; + void mingw_startup() { /* copy executable name to argv[0] */ |