git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/7] MinGW: disable CRT command line globbing

From
Stepan Kasal <kasal@ucw.cz>
Date
Jun 11, 2014, 09:37 UTC
Message-ID
<1402479466-8500-5-git-send-email-kasal@ucw.cz>
In-Reply-To
<1402479466-8500-1-git-send-email-kasal@ucw.cz>
From: Karsten Blees <blees@dcon.de>
Date: Fri, 7 Jan 2011 19:52:20 +0100

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>
---
 compat/mingw.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/compat/mingw.c b/compat/mingw.c
index 6849815..1140a13 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] */
-- 
2.0.0.9635.g0be03cb

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "msysGit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Previous: Stepan KasalNext: Stepan Kasal
Message 5 of 12 in “Second part of msysgit/unicode”
  1. 0/7 Second part of msysgit/unicodeStepan Kasal, Jun 11, 2014
  2. 1/7 Let mingw_execve() return an intStepan Kasal, Jun 11, 2014
  3. 2/7 Win32: simplify internal mingw_spawn* APIsStepan Kasal, Jun 11, 2014
  4. 3/7 Win32: fix potential multi-threading issueStepan Kasal, Jun 11, 2014
  5. 4/7 MinGW: disable CRT command line globbingStepan Kasal, Jun 11, 2014
  6. 5/7 Win32: Unicode arguments (outgoing)Stepan Kasal, Jun 11, 2014
  7. 6/7 Win32: Unicode arguments (incoming)Stepan Kasal, Jun 11, 2014
  8. 7/7 Unicode file name support (gitk and git-gui)Stepan Kasal, Jun 11, 2014
  9. Karsten BleesJun 17, 2014
  10. Stepan KasalJun 18, 2014
  11. Junio C HamanoJun 18, 2014
  12. Johannes SixtJun 18, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.