The bug is on line 344 of dir.c
# ifdef WINDOWS32
/* Remove any trailing '\'. Windows32 stat fails even on valid
directories if they end in '\'. */
if (p[-1] == '\\')
p[-1] = '\0';
# endif
It modifies the argument that is passed into find_directory(). This is bad.
Specifically I've had it smash the PATH environment variable so that
sub-shells have an incomplete PATH. Depending on circumstances and system
setup this can randomly cause commands to fail (because Windows cannot locate
them).
To reproduce:
1) Add a trailing slash to any (but the final) path in your PATH
environment variable;
2) Run the attached makefile;
3) If Windows could find the shell (at all!), examine the environment.
Alternatively change the first path in PATH, run any makefile and watch it
fail.
============= Makefile ============
all:
cmd
===================================
--
Duncan Harvey
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make