mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-04 02:08:49 -04:00
77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
$NetBSD: patch-ak,v 1.5 2015/05/17 21:23:28 rodent Exp $
|
|
|
|
--- gl/mountlist.c.orig 2014-03-04 21:41:56.000000000 +0000
|
|
+++ gl/mountlist.c
|
|
@@ -52,7 +52,11 @@
|
|
# if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
|
|
# define FS_TYPE(Ent) ((Ent).f_fstypename)
|
|
# else
|
|
-# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
|
|
+# if defined(STAT_STATVFS)
|
|
+# define FS_TYPE(Ent) mnt_names[(Ent).f_fsid]
|
|
+# else
|
|
+# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
|
|
+# endif
|
|
# endif
|
|
#endif /* MOUNTED_GETFSSTAT */
|
|
|
|
@@ -99,6 +103,10 @@
|
|
# include <sys/statfs.h>
|
|
#endif
|
|
|
|
+#if defined(HAVE_SYS_STATVFS_H)
|
|
+#include <sys/statvfs.h>
|
|
+#endif
|
|
+
|
|
#ifdef MOUNTED_LISTMNTENT
|
|
# include <mntent.h>
|
|
#endif
|
|
@@ -223,7 +231,7 @@ me_remote (char const *fs_name, char con
|
|
|
|
#if MOUNTED_GETMNTINFO
|
|
|
|
-# if ! HAVE_STRUCT_STATFS_F_FSTYPENAME
|
|
+# if ! HAVE_STRUCT_STATFS_F_FSTYPENAME && ! STAT_STATVFS
|
|
static char *
|
|
fstype_to_string (short int t)
|
|
{
|
|
@@ -320,9 +328,13 @@ fstype_to_string (short int t)
|
|
# endif
|
|
|
|
static char *
|
|
+#if defined(STAT_STATVFS) && !defined(__FreeBSD__)
|
|
+fsp_to_string (const struct statvfs *fsp)
|
|
+#else
|
|
fsp_to_string (const struct statfs *fsp)
|
|
+#endif
|
|
{
|
|
-# if HAVE_STRUCT_STATFS_F_FSTYPENAME
|
|
+# if defined(HAVE_STRUCT_STATFS_F_FSTYPENAME) || defined(STAT_STATVFS)
|
|
return (char *) (fsp->f_fstypename);
|
|
# else
|
|
return fstype_to_string (fsp->f_type);
|
|
@@ -648,7 +660,11 @@ read_file_system_list (bool need_fs_type
|
|
{
|
|
int numsys, counter;
|
|
size_t bufsize;
|
|
+#if defined(STAT_STATVFS) && !defined(__FreeBSD__)
|
|
+ struct statvfs *stats;
|
|
+#else
|
|
struct statfs *stats;
|
|
+#endif
|
|
|
|
numsys = getfsstat (NULL, 0L, MNT_NOWAIT);
|
|
if (numsys < 0)
|
|
@@ -658,7 +674,11 @@ read_file_system_list (bool need_fs_type
|
|
|
|
bufsize = (1 + numsys) * sizeof *stats;
|
|
stats = xmalloc (bufsize);
|
|
+#if defined(STAT_STATVFS)
|
|
+ numsys = getfsstat ((struct statvfs *)stats, bufsize, MNT_NOWAIT);
|
|
+#else
|
|
numsys = getfsstat (stats, bufsize, MNT_NOWAIT);
|
|
+#endif
|
|
|
|
if (numsys < 0)
|
|
{
|