in reply to RE: Normalized directory paths
in thread Normalized directory paths

Hmm. Good point. Yes, I am talking about the filesystem. Thanks for the observation - something else to think about. For the part of the process using this function, I am really just needing the textual transform. The filesystem walk happens later.

Mik

Replies are listed 'Best First'.
RE: RE: RE: Normalized directory paths
by merlyn (Sage) on May 17, 2000 at 20:03 UTC
    But you *can't* do the textual transformation WITHOUT doing the filesystem walk!

    That is, if your string is

    /a/b/c/../d/e/f
    and c is a symlink, YOU CANNOT reduce that string unless you do a readlink on c. I wrote some code to do it once. One of my UnixReview columns I think.
      I realize I have been bitten by zsh-centric behaviour.

      Given the path /a/b/c/.. and given that c is a symlink to /x/y/z I got different results depending on which shell I used when I said. sh, csh and tcsh all said the correct answer was /x/y. ksh, bash and zsh said /a/b was the correct answer.
      Therefore, some shells are broken and some are not.

      According to the FreeBSD manpage, there is a POSIX.2 specified behaviour for cd. I am not aware that I have access to the POSIX.2 standards. Can somebody who does have access tell me if POSIX.2 defines the behaviour of cd in this case?

      Thanks,
      Mik