delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/12/04/22:10:18

From: boukanov AT fi DOT uib DOT no (Igor boukanov)
Subject: Broken pwd or how can I resolve symlnks?
4 Dec 1998 22:10:18 -0800 :
Message-ID: <19981204163227.7377.qmail.cygnus.gnu-win32@findmail.com>
To: gnu-win32 AT cygnus DOT com
Cc: boukanov AT fi DOT uib DOT no

Hello!

I noticed then when I have a symlink to a directory and the make cd to the symlink, 
pwd does not print the directory link points to. I.e.:
cd //d/tmp
mkdir a
ln -s a b
cd b
pwd
//d/tmp/b
       ^^^
when I expect that last pwd should print 
//d/tmp/a

The similar problem comes from cygpath utility. 
It does not resolve simplinks in path components.
Example:

cd //d/tmp
touch a.txt
ln -s a.txt b.txt
cygpath -w b.txt
d:\tmp\b.txt

when the last cygpath should IMHO print a.txt.

I tried to resolve a problem with cygpath and what I realized is that the function

extern "C" void cygwin_conv_to_win32_path(
    const char *path, char *win32_path);

does not resolve symlinks either.

Well, I can write my own version of cygpath that does not have this problem but then I will depends on the exact knowledge of symlink file format because very useful function readlink is absent from the cygnet api...

So maybe there is a better way to resolve that symlinks problem?
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019