postgres.git / summary / log / commit / refs

commit    b90ce0dd74994816b0e1fbcf1224d9809c1ee7e6
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Mon Apr 25 19:02:13 2022 +0000
First released in: 15.0, 10.21, 11.16, 12.11, 13.7, 14.3

    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


src/common/exec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/common/exec.c b/src/common/exec.c index 4df16cd64bd..e38fcaa2684 100644 --- a/src/common/exec.c +++ b/src/common/exec.c @@ -25,6 +25,11 @@ #include <sys/wait.h> #include <unistd.h> +/* Inhibit mingw CRT's auto-globbing of command line arguments */ +#if defined(WIN32) && !defined(_MSC_VER) +extern int _CRT_glob = 0; /* 0 turns off globbing; 1 turns it on */ +#endif + #ifndef FRONTEND /* We use only 3- and 4-parameter elog calls in this file, for simplicity */ /* NOTE: caller must provide gettext call around str! */ [parent: 8b910d94234b]