diff liboctave/file-ops.cc @ 6271:6fab59e81b4e

[project @ 2007-02-06 01:36:46 by jwe]
author jwe
date Tue, 06 Feb 2007 01:36:47 +0000
parents 323be5eeed1f
children de81db175325
line wrap: on
line diff
--- a/liboctave/file-ops.cc	Mon Feb 05 21:42:21 2007 +0000
+++ b/liboctave/file-ops.cc	Tue Feb 06 01:36:47 2007 +0000
@@ -482,6 +482,28 @@
         }
     }
 
+#elif defined (HAVE_REALPATH)
+
+#if !defined (__set_errno)
+# define __set_errno(Val) errno = (Val)
+#endif
+
+  if (name.empty ())
+    {
+      __set_errno (ENOENT);
+      return retval;
+    }
+
+  OCTAVE_LOCAL_BUFFER (char, buf, PATH_MAX);
+
+  char *tmp = ::realpath (name.c_str (), buf);
+
+  if (tmp)
+    {
+      retval = tmp;
+      ::free (tmp);
+    }
+
 #else
 
   // FIXME -- provide replacement here...