Subject: Re: sh.exe 'cd' doesn't understand '//<drive>/path' notation?
From: [email-masked] (Trevor Yann)

7 Aug 1998 00:55:48 -0700
Message-ID: <[email-masked]>
References: <7BEBE893ABDFD111AC3F00A0C96B159F5C5695@FMSMSX32>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: "Robertson, Jason V" <[email-masked]>
Cc: [email-masked]

I've seen this problem too. In particular I have had configure fail
with  a "cd: lstat /c failed" style error. I have come up with a patch
(below) that fixes the problem. The patch has to be applied to the 0.2
ash source code (from the file ash-linux-0.2.tar.gz in the cygnus b19
download directory). Hope this helps.

Robertson, Jason V wrote:
> 
> Hi,
> 
> Sorry if this has been mentioned before, but it looks like the 'cd' command
> in Cygnus b19.1 sh.exe doesn't support the //drive/path notation.
> Here's what I'm getting:
> 
> X:\apps\4.0\Cygnus\b19\H-i386-cygwin32\bin>.\sh
> $ cd //c/temp
> cd: lstat /c failed
> 
[stuff deleted]

diff -upr ash-linux-0.2.original/Makefile ash-linux-0.2/Makefile
--- ash-linux-0.2.original/Makefile	Wed Nov 19 21:16:42 1997
+++ ash-linux-0.2/Makefile	Thu Aug 06 21:53:10 1998
@@ -14,7 +14,7 @@ OBJ2 =	builtins.o cd.o dirent.o bltin/ec
 
 OBJS =	$(OBJ1) $(OBJ2)
 
-CFLAGS = -O3 -mpentium -pipe -DSHELL -I/usr/include/bsd -I.
+CFLAGS = -O3 -mpentium -DSHELL -I/usr/include/bsd -I.
 LDFLAGS = -s
 
 CLEANFILES =\
diff -upr ash-linux-0.2.original/cd.c ash-linux-0.2/cd.c
--- ash-linux-0.2.original/cd.c	Wed Nov 19 21:43:16 1997
+++ ash-linux-0.2/cd.c	Thu Aug 06 21:52:58 1998
@@ -159,7 +159,7 @@ docd(dest, print)
 top:
 	cdcomppath = dest;
 	STARTSTACKSTR(p);
-	if (*dest == '/') {
+	while (*dest++ == '/') {
 		STPUTC('/', p);
 		cdcomppath++;
 	}

--- end of diff ---
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".