make-w32
[Top][All Lists]
Advanced

[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;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]