$NetBSD: patch-aa,v 1.15 2011/01/23 14:36:10 wiz Exp $

https://midnight-commander.org/ticket/2425
Fixes segmentation fault on NetBSD
--- src/mountlist.c.orig	2010-11-08 11:46:14.000000000 +0000
+++ src/mountlist.c
@@ -54,6 +54,7 @@
 
 #ifdef MOUNTED_GETMNTINFO2	/* NetBSD 3.0.  */
 #include <sys/statvfs.h>
+#define statfs statvfs
 #endif
 
 #ifdef MOUNTED_GETMNT		/* Ultrix.  */
@@ -364,7 +365,8 @@ read_filesystem_list (int need_fs_type, 
 #endif /* MOUNTED */
 #endif /* MOUNTED_GETMNTENT1 */
 
-#ifdef MOUNTED_GETMNTINFO	/* 4.4BSD.  */
+#if defined(MOUNTED_GETMNTINFO) || defined(MOUNTED_GETMNTINFO2)
+/* 4.4BSD and NetBSD>=3 */
     {
 	struct statfs *fsp;
 	int entries;
@@ -376,7 +378,7 @@ read_filesystem_list (int need_fs_type, 
 	    me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
 	    me->me_devname = strdup (fsp->f_mntfromname);
 	    me->me_mountdir = strdup (fsp->f_mntonname);
-#ifdef HAVE_STRUCT_STATFS_F_FSTYPENAME
+#if defined(HAVE_STRUCT_STATFS_F_FSTYPENAME) || defined(MOUNTED_GETMNTINFO2)
 	    me->me_type = strdup (fsp->f_fstypename);
 #else
 	    me->me_type = fstype_to_string (fsp->f_type);
@@ -392,28 +394,6 @@ read_filesystem_list (int need_fs_type, 
     }
 #endif /* MOUNTED_GETMNTINFO */
 
-#ifdef MOUNTED_GETMNTINFO2	/* NetBSD 3.0.  */
-    {
-	struct statvfs *fsp;
-	int entries;
-
-	entries = getmntinfo (&fsp, MNT_NOWAIT);
-	if (entries < 0)
-	    return NULL;
-	for (; entries-- > 0; fsp++) {
-	    me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
-	    me->me_devname = strdup (fsp->f_mntfromname);
-	    me->me_mountdir = strdup (fsp->f_mntonname);
-	    me->me_type = strdup (fsp->f_fstypename);
-	    me->me_dev = (dev_t) -1;	/* Magic; means not known yet. */
-
-	    /* Add to the linked list. */
-	    mtail->me_next = me;
-	    mtail = me;
-	}
-    }
-#endif /* MOUNTED_GETMNTINFO2 */
-
 #ifdef MOUNTED_GETMNT		/* Ultrix.  */
     {
 	int offset = 0;
