Make realpath call optional, disable it for Windows.
authorRichard Jones <rjones@redhat.com>
Thu, 26 Nov 2009 14:13:27 +0000 (14:13 +0000)
committerRichard Jones <rjones@redhat.com>
Thu, 26 Nov 2009 14:13:55 +0000 (14:13 +0000)
daemon/configure.ac
daemon/realpath.c
src/generator.ml

index 1d335b1..65a1485 100644 (file)
@@ -183,6 +183,7 @@ AC_CHECK_FUNCS([\
         ntohl \
         ntohs \
         posix_fallocate \
+        realpath \
         removexattr \
         setxattr \
         statvfs \
index f9d08da..e6c81ef 100644 (file)
@@ -28,6 +28,7 @@
 #include <dirent.h>
 
 #include "daemon.h"
+#include "optgroups.h"
 #include "actions.h"
 
 /* On Windows, NAME_MAX is not defined. */
 #define NAME_MAX FILENAME_MAX
 #endif
 
+int
+optgroup_realpath_available (void)
+{
+#ifdef HAVE_REALPATH
+  return 1;
+#else
+  return 0;
+#endif
+}
+
 char *
 do_realpath (const char *path)
 {
+#ifdef HAVE_REALPATH
   char *ret;
 
   CHROOT_IN;
@@ -49,6 +61,9 @@ do_realpath (const char *path)
   }
 
   return ret;                  /* caller frees */
+#else
+  NOT_AVAILABLE (NULL);
+#endif
 }
 
 char *
index 74ff3a8..9e602ac 100755 (executable)
@@ -3266,7 +3266,7 @@ matching lines.");
 This calls the external C<zfgrep -i> program and returns the
 matching lines.");
 
-  ("realpath", (RString "rpath", [Pathname "path"]), 163, [],
+  ("realpath", (RString "rpath", [Pathname "path"]), 163, [Optional "realpath"],
    [InitISOFS, Always, TestOutput (
       [["realpath"; "/../directory"]], "/directory")],
    "canonicalized absolute pathname",