delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/11/14/09:33:30

Message-ID: <382EB0D0.1A3E63E8@softhome.net>
Date: Sun, 14 Nov 1999 14:53:36 +0200
From: Laurynas Biveinis <lauras AT softhome DOT net>
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: lt,en
MIME-Version: 1.0
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
CC: DJGPP Workers <djgpp-workers AT delorie DOT com>
Subject: Re: First alpha symlink patch
References: <Pine DOT SUN DOT 3 DOT 91 DOT 991114143728 DOT 19268G AT is>
Reply-To: djgpp-workers AT delorie DOT com

Eli Zaretskii wrote:
> Are getwd and getcwd documented somewhere to return the symlink name,
> rather than the actual directory name?  If not, perhaps we are better off
> without recording the symlink in some hidden variable?

It's up to implementation. If we do or do not do that we got following
difference, as pointed out by Alain when we discussed it earlier:
--------
When you say chdir() should be adjust, how ? see two different
behaviours below (Solaris vs GNU/Linux) of chdir() :

# uname -sr
SunOS 5.5.1
# cd /tmp
# mkdir -p Me/You/Him
# cd Me
# ln -s You/Him Her
# ls -l
total 32
lrwxrwxrwx   1 alainm   vlsi           7 ao?t 24 10:05 Her -> You/Him/
drwxr-xr-x   3 alainm   vlsi         105 ao?t 24 10:05 You/
# cd Her
# pwd
/tmp/Me/You/Him
# cd ..
# pwd
/tmp/Me/You

$ uname -rs
Linux 2.2.5-15
$ cd /tmp
tmp]$ mkdir -p Me/You/Him
tmp]$ cd Me
$ ln -s You/Him Her
$ ls -l
total 1
lrwxrwxrwx   1 alain    techies         7 Aug 24 10:14 Her -> You/Him
drwxr-xr-x   3 alain    techies      1024 Aug 24 10:13 You
$ pwd
/tmp/Me
$ cd Her
$ pwd
/tmp/Me/Her
$ cd ..
$ pwd
/tmp/Me
----------

I just chose GNUish way; I like it and it wasn't very hard to
implement. To be bulletproof, I also record the real name of
directory - if it does not match with what DOS call returns, do 
not return symlink.

> As for the format of the symlink file: is it a good idea to use the SYS
> attribute?  Such files will not be shown by DIR and other DOS/Windows
> commands, some archivers might skip them, etc.  Perhaps it is better to
> make the symlinks be of some specific size?

I wanted to make symlinks have a rare combination of attributtes (currently
read only + system _but not_ hidden) because that would result in smaller
perfomance penalty - currently in most cases only one additional attributte 
check is performed on file if it's not a symlink. IMHO, if DOS/Windows 
non-DJGPP and non-CygWin applications do not see them, that's not a big 
problem - they won't know what to do with symlinks anyway.

And, BTW, current format is compatible with CygWin's symlinks.

Laurynas Biveinis

- Raw text -


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