[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fix for HAVE_DOS_PATHS build on cygwin
From: |
Bill Hoffman |
Subject: |
Fix for HAVE_DOS_PATHS build on cygwin |
Date: |
Wed, 16 Aug 2006 21:21:21 -0400 |
I tried compiling 3.81 on cygwin with HAVE_DOS_PATHS,
and found the same crash described in this thread:
http://www.mail-archive.com/address@hidden/msg00861.html
I found the problem and fixed the crash.
Here is the patch:
*** make-3.81/job.c Sun Mar 19 22:03:04 2006
--- ../make-3.81/job.c Wed Aug 16 19:42:14 2006
*************** construct_command_argv_internal (char *l
*** 2297,2302 ****
--- 2297,2316 ----
0 };
char* sh_chars;
char** sh_cmds;
+ #elif defined(HAVE_DOS_PATHS)
+ /* This is required if the MSYS/Cygwin ports (which do not define
+ WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses
+ sh_chars_sh[] directly (see below). The value is identical to
+ the one above for WINDOWS32 platforms. */
+ static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
+ static char *sh_cmds_sh[] = { "cd", "eval", "exec", "exit", "login",
+ "logout", "set", "umask", "wait", "while", "for",
+ "case", "if", ":", ".", "break", "continue",
+ "export", "read", "readonly", "shift", "times",
+ "trap", "switch", "test", "echo", 0};
+ char *sh_chars;
+ char **sh_cmds;
+
#elif defined(__riscos__)
static char sh_chars[] = "";
static char *sh_cmds[] = { 0 };
*************** construct_command_argv_internal (char *l
*** 2326,2331 ****
--- 2340,2351 ----
sh_chars = sh_chars_sh;
}
#endif /* WINDOWS32 */
+ #if defined(HAVE_DOS_PATHS) && !defined(WINDOWS32)
+ int slow_flag = 0;
+
+ sh_cmds = sh_cmds_sh;
+ sh_chars = sh_chars_sh;
+ #endif /* WINDOWS32 */
if (restp != NULL)
*restp = NULL;
The crash was caused because sh_cmds and sh_chars were only initialized
if WINDOWS32 was set. If you add the initialization make seems to work
fine. I ran make check and all tests passed.
Can this patch be moved into the main tree?
Thanks.
-Bill
- Fix for HAVE_DOS_PATHS build on cygwin,
Bill Hoffman <=
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/16
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Bill Hoffman, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Bill Hoffman, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Christopher Faylor, 2006/08/17
- Re: Fix for HAVE_DOS_PATHS build on cygwin, Eli Zaretskii, 2006/08/17