diff options
author | Ilya Zakharevich <ilya@math.ohio-state.edu> | 1997-06-16 11:17:08 +1200 |
---|---|---|
committer | Tim Bunce <Tim.Bunce@ig.co.uk> | 1997-08-07 00:00:00 +1200 |
commit | 21fc060b433a5fd003b9aca5789342207c46ada4 (patch) | |
tree | 16a7833770a037aa66d013de15a7cd2a098b678a | |
parent | bb679a33295ddbbd6c1f7464a0c6d03212121f26 (diff) | |
download | perl-21fc060b433a5fd003b9aca5789342207c46ada4.tar.gz |
Additional patch for "Can't execute ..."
The patch I sent a couple of hours ago was not enough. In fact
delimcpy() was used wrongly when splitting PATH on dosish systems: '\\'
is not quoting ';' in PATH.
Fortunately, delimcpy() is used in very few places in the source, and
never with ';' as delimiter - outside of PATH context. So we just fix
delimcpy() when the delimiter is ';'.
Enjoy,
p5p-msgid: 199707181120.HAA03593@monk.mps.ohio-state.edu
private-msgid: 199707191651.MAA04897@monk.mps.ohio-state.edu
-rw-r--r-- | util.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -279,7 +279,9 @@ xstat() #endif /* LEAKTEST */ -/* copy a string up to some (non-backslashed) delimiter, if any */ +/* copy a string up to some (non-backslashed) delimiter, if any; + If the delimiter is ';', then do not consider backslashes - + used only for PATH on DOSISH systems. */ char * delimcpy(to, toend, from, fromend, delim, retlen) @@ -292,7 +294,7 @@ I32 *retlen; { register I32 tolen; for (tolen = 0; from < fromend; from++, tolen++) { - if (*from == '\\') { + if (*from == '\\' && delim != ';') { if (from[1] == delim) from++; else { |