Skip to content

Commit 58887d5

Browse files
committed
Inhibit mingw CRT's auto-globbing of command line arguments
For some reason by default the mingw C Runtime takes it upon itself to expand program arguments that look like shell globbing characters. That has caused much scratching of heads and mis-attribution of the causes of some TAP test failures, so stop doing that. This removes an inconsistency with Windows binaries built with MSVC, which have no such behaviour. Per suggestion from Noah Misch. Backpatch to all live branches. Discussion: https://postgr.es/m/20220423025927.GA1274057@rfd.leadboat.com
1 parent 5d223e4 commit 58887d5

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/common/exec.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
#include <sys/wait.h>
2626
#include <unistd.h>
2727

28+
/* Inhibit mingw CRT's auto-globbing of command line arguments */
29+
#if defined(WIN32) && !defined(_MSC_VER)
30+
extern int _CRT_glob = 0; /* 0 turns off globbing; 1 turns it on */
31+
#endif
32+
2833
#ifndef FRONTEND
2934
/* We use only 3- and 4-parameter elog calls in this file, for simplicity */
3035
/* NOTE: caller must provide gettext call around str! */

0 commit comments

Comments
 (0)