]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/mntent_cache.c
Implement feature request #1939
[bacula/bacula] / bacula / src / lib / mntent_cache.c
index c30cc912fee6008b80e548a6dad533bf736496f7..ca2c8a8db46b2eadef41d9a7e943595c9a78a00e 100644 (file)
 #include <sys/stat.h>
 
 #if defined(HAVE_GETMNTENT)
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HPUX_OS) || \
+    defined(HAVE_AIX_OS)
 #include <mntent.h>
 #elif defined(HAVE_SUN_OS)
 #include <sys/mnttab.h>
+#elif defined(HAVE_HURD_OS)
+#include <hurd/paths.h>
+#include <mntent.h>
 #endif /* HAVE_GETMNTENT */
 #elif defined(HAVE_GETMNTINFO)
 #if defined(HAVE_OPENBSD_OS)
@@ -181,7 +186,11 @@ static void refresh_mount_cache(void)
 #if defined(HAVE_GETMNTENT)
    FILE *fp;
    struct stat st;
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_IRIX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HPUX_OS) || \
+    defined(HAVE_IRIX_OS) || \
+    defined(HAVE_AIX_OS) || \
+    defined(HAVE_HURD_OS)
    struct mntent *mnt;
 
 #if defined(HAVE_LINUX_OS)
@@ -202,6 +211,10 @@ static void refresh_mount_cache(void)
    if ((fp = setmntent(MNTTAB, "r")) == (FILE *)NULL) {
       return;
    }
+#elif defined(HAVE_HURD_OS)
+   if ((fp = setmntent(_PATH_MNTTAB, "r")) == (FILE *)NULL) {
+      return;
+   }
 #endif
 
    while ((mnt = getmntent(fp)) != (struct mntent *)NULL) {