[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[4]: make alters subprocess environment
From: |
Eli Zaretskii |
Subject: |
Re: Re[4]: make alters subprocess environment |
Date: |
Fri, 21 Sep 2007 12:00:20 +0200 |
> From: =?koi8-r?Q?=F0=C1=D7=C5=CC_=F3=D5=D4=D9=D2=C9=CE?= <address@hidden>
> Cc: address@hidden
> Date: Fri, 21 Sep 2007 12:43:23 +0400
>
> > The other problem is because you have quotes around that directory
> > name. Why did you do that? Windows doesn't need such directories to
> > be quoted. Remove the quotes and it will work.
>
> Yes, it works now.
>
> I remember, some time ago I've tried to repair broken PATH in this way.
>
> Thank you very much.
You are welcome.
But since I found that some installer did something similar on my
machine as well, I think Make had better cope with such values in
Path. So I would like to propose the patch below to fix this.
Paul, is this okay with you?
2007-09-21 Eli Zaretskii <address@hidden>
* w32/pathstuff.c (convert_Path_to_windows32): Handle quoted
directories in Path.
--- w32/pathstuff.c~0 2006-02-12 02:16:05.000000000 +0200
+++ w32/pathstuff.c 2007-09-21 11:26:23.375000000 +0200
@@ -70,11 +70,17 @@ convert_Path_to_windows32(char *Path, ch
} else
/* all finished, force abort */
p += strlen(p);
+ } else if (*p == '"') { /* a quoted directory */
+ for (p++; *p && *p != '"'; p++) /* skip quoted part */
+ ;
+ etok = strpbrk(p, ":;"); /* find next delimiter */
+ *etok = to_delim;
+ p = ++etok;
} else {
/* found another one, no drive letter */
*etok = to_delim;
p = ++etok;
- }
+ }
return Path;
}