$NetBSD: patch-ad,v 1.3 2007/12/07 19:43:29 martti Exp $ --- exo/exo-mount-point.c.orig 2007-12-04 11:46:28.000000000 +0000 +++ exo/exo-mount-point.c 2007-12-04 11:52:46.000000000 +0000 @@ -253,57 +253,57 @@ /* close the file handle */ fclose (fp); -#elif defined(HAVE_GETFSSTAT) /* FreeBSD, OpenBSD, DragonFly, older NetBSD */ - struct statfs *mntbuf = NULL; - glong bufsize = 0; - gint mntsize; - gint n; +#elif defined(HAVE_GETVFSSTAT) /* Newer NetBSD */ + struct statvfs *mntbuf = NULL; + glong bufsize = 0; + gint mntsize; + gint n; /* determine the number of active mount points */ - mntsize = getfsstat (NULL, 0, MNT_NOWAIT); + mntsize = getvfsstat (NULL, 0, MNT_NOWAIT); if (G_LIKELY (mntsize > 0)) { /* allocate a new buffer */ bufsize = (mntsize + 4) * sizeof (*mntbuf); - mntbuf = (struct statfs *) malloc (bufsize); + mntbuf = (struct statvfs *) malloc (bufsize); /* determine the mount point for the device file */ - mntsize = getfsstat (mntbuf, bufsize, MNT_NOWAIT); + mntsize = getvfsstat (mntbuf, bufsize, ST_NOWAIT); for (n = 0; n < mntsize; ++n) { /* check if we have a match here */ - exo_mount_point_add_if_matches (mask, device, folder, fstype, mntbuf[n].f_mntfromname, mntbuf[n].f_mntonname, - mntbuf[n].f_fstypename, ((mntbuf[n].f_flags & MNT_RDONLY) != 0), &mount_points); + exo_mount_point_add_if_matches (mask, device, folder, fstype, + mntbuf[n].f_mntfromname, + mntbuf[n].f_mntonname, + mntbuf[n].f_fstypename, + ((mntbuf[n].f_flag & MNT_RDONLY) != 0), + &mount_points); } /* release the buffer */ free (mntbuf); } -#elif defined(HAVE_GETVFSSTAT) /* Newer NetBSD */ - struct statvfs *mntbuf = NULL; - glong bufsize = 0; - gint mntsize; - gint n; +#elif defined(HAVE_GETFSSTAT) /* FreeBSD, OpenBSD, DragonFly, older NetBSD */ + struct statfs *mntbuf = NULL; + glong bufsize = 0; + gint mntsize; + gint n; /* determine the number of active mount points */ - mntsize = getvfsstat (NULL, 0, MNT_NOWAIT); + mntsize = getfsstat (NULL, 0, MNT_NOWAIT); if (G_LIKELY (mntsize > 0)) { /* allocate a new buffer */ bufsize = (mntsize + 4) * sizeof (*mntbuf); - mntbuf = (struct statvfs *) malloc (bufsize); + mntbuf = (struct statfs *) malloc (bufsize); /* determine the mount point for the device file */ - mntsize = getvfsstat (mntbuf, bufsize, ST_NOWAIT); + mntsize = getfsstat (mntbuf, bufsize, MNT_NOWAIT); for (n = 0; n < mntsize; ++n) { /* check if we have a match here */ - exo_mount_point_add_if_matches (mask, device, folder, fstype, - mntbuf[n].f_mntfromname, - mntbuf[n].f_mntonname, - mntbuf[n].f_fstypename, - ((mntbuf[n].f_flag & MNT_RDONLY) != 0), - &mount_points); + exo_mount_point_add_if_matches (mask, device, folder, fstype, mntbuf[n].f_mntfromname, mntbuf[n].f_mntonname, + mntbuf[n].f_fstypename, ((mntbuf[n].f_flags & MNT_RDONLY) != 0), &mount_points); } /* release the buffer */