Re: Bug in builtin function abspath (again)

2006-05-30 Thread Paul D. Smith
%% Eli Zaretskii [EMAIL PROTECTED] writes:

  ez Incidentally, shouldn't we emulate realpath's failures in
  ez func_realpath on systems that don't have realpath?  AFAIK,
  ez realpath fails if the file does not exist, so perhaps we should
  ez stat the result of abspath on such systems and return an NULL if
  ez it fails.

  ez WDYT?

Actually, the man pages I've seen are not specific on this.  They all
say:

 The realpath function will resolve both absolute and relative paths
 and return the absolute pathname corresponding to pathname. All but
 the last component of pathname must exist when realpath is called.

It's not immediately clear to me what all but the last component of
pathname means; presumably it means that the directory containing the
last filename in pathname must exist, but that the filename itself does
not have to exist.

I'd need to look at some sample implementations to see what that
actually means.

-- 
---
 Paul D. Smith [EMAIL PROTECTED]  Find some GNU make tips at:
 http://www.gnu.org  http://make.paulandlesley.org
 Please remain calm...I may be mad, but I am a professional. --Mad Scientist


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug in builtin function abspath (again)

2006-05-30 Thread Eli Zaretskii
 Date: Tue, 30 May 2006 10:49:17 -0400
 Cc: bug-make@gnu.org
 From: Paul D. Smith [EMAIL PROTECTED]
 
  The realpath function will resolve both absolute and relative paths
  and return the absolute pathname corresponding to pathname. All but
  the last component of pathname must exist when realpath is called.
 
 It's not immediately clear to me what all but the last component of
 pathname means; presumably it means that the directory containing the
 last filename in pathname must exist, but that the filename itself does
 not have to exist.

Yes, that seems to be the meaning.  But on platforms where there's no
realpath, we currently use abspath that doesn't care whether that
directory exists.  Since Joe Random Hacker might not know whether her
Make was built with or without realpath (and the docs don't even tell
that realpath falls back on abspath), we should try to emulate
realpath as close as we can, I think.

I also thought about writing an emulation for realpath by using
readlink.  Unless I'm missing something, that shouldn't be too hard.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make