> Date: Thu, 02 May 2013 20:04:30 +0300 > From: Eli Zaretskii <e...@gnu.org> > Cc: make-w32@gnu.org > > > Date: Thu, 02 May 2013 19:50:25 +0300 > > From: Eli Zaretskii <e...@gnu.org> > > Cc: make-w32@gnu.org > > > > > SHELL=cmd.exe > > > default: > > > "a b\x.bat" > > > > > > I get this most of the time: > > > make/gnumake.exe --debug=j > > > "a b\x.bat" > > > CreateProcess(NULL,"C:\cygwin\tmp\a b\x.bat",...) > > > (and make exits with code 127) > > > > > > Sometimes (1 in 5), the bat file is actually executed before make exits > > > with 127. > > > > That's strange, I cannot reproduce this. I get 100% success and zero > > exit code all the time. > > I did succeed in reproducing this. Stay tuned.
It was a stupid thinko on my part. Sorry. Please apply the patch below on top of the previous one: --- w32/subproc/sub_proc.c~0 2013-05-02 19:53:47.391000000 +0300 +++ w32/subproc/sub_proc.c 2013-05-02 20:36:54.437875000 +0300 @@ -28,13 +28,13 @@ this program. If not, see <http://www.g #include <signal.h> #include <windows.h> +#include "makeint.h" #include "sub_proc.h" #include "proc.h" #include "w32err.h" #include "debug.h" static char *make_command_line(char *shell_name, char *exec_path, char **argv); -extern char *xmalloc (unsigned int); typedef struct sub_process_t { intptr_t sv_stdin[2]; @@ -690,7 +690,8 @@ process_begin( && batch_file_with_spaces(exec_fname) && _stricmp(exec_path, argv[0]) == 0) { pass_null_exec_path = 1; - argv[0] = exec_fname; + free (argv[0]); + argv[0] = xstrdup(exec_fname); } command_line = make_command_line( shell_name, exec_fname, argv); } _______________________________________________ Make-w32 mailing list Make-w32@gnu.org https://lists.gnu.org/mailman/listinfo/make-w32