From: Richard Jones Date: Thu, 26 Nov 2009 14:13:27 +0000 (+0000) Subject: Make realpath call optional, disable it for Windows. X-Git-Tag: 1.0.80~23 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=a86eb0e0d2c67e2153139c681632edc72162b8ed;hp=6699491803962a5dee13997f1cc98f119d7101f4 Make realpath call optional, disable it for Windows. --- diff --git a/daemon/configure.ac b/daemon/configure.ac index 1d335b1..65a1485 100644 --- a/daemon/configure.ac +++ b/daemon/configure.ac @@ -183,6 +183,7 @@ AC_CHECK_FUNCS([\ ntohl \ ntohs \ posix_fallocate \ + realpath \ removexattr \ setxattr \ statvfs \ diff --git a/daemon/realpath.c b/daemon/realpath.c index f9d08da..e6c81ef 100644 --- a/daemon/realpath.c +++ b/daemon/realpath.c @@ -28,6 +28,7 @@ #include #include "daemon.h" +#include "optgroups.h" #include "actions.h" /* On Windows, NAME_MAX is not defined. */ @@ -35,9 +36,20 @@ #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 * diff --git a/src/generator.ml b/src/generator.ml index 74ff3a8..9e602ac 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -3266,7 +3266,7 @@ matching lines."); This calls the external C 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",