pkgsrc/sysutils/dvd+rw-tools/patches/patch-aa
2011-01-30 01:59:59 +00:00

64 lines
1.5 KiB
Text

$NetBSD: patch-aa,v 1.8 2011/01/30 01:59:59 markd Exp $
--- transport.hxx.orig 2008-03-01 10:34:43.000000000 +0000
+++ transport.hxx
@@ -6,7 +6,7 @@
// For further details see http://fy.chalmers.se/~appro/linux/DVD+RW/
//
-#if defined(__unix) || defined(__unix__)
+#if defined(__unix) || defined(__unix__) || defined(__NetBSD__)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -16,6 +16,9 @@
#include <fcntl.h>
#include <poll.h>
#include <sys/time.h>
+#if __NetBSD_Version__ >= 299000900
+#include <sys/statvfs.h>
+#endif
inline long getmsecs()
{ struct timeval tv;
@@ -140,6 +143,7 @@ extern "C" char *plusminus_locale()
#if defined(__linux)
#include <sys/ioctl.h>
+#include <limits.h>
#include <linux/cdrom.h>
#include <mntent.h>
#include <sys/wait.h>
@@ -454,7 +458,11 @@ public:
// mounted, so that it could as well just return 0;
int umount(int f=-1)
{ struct stat fsb,msb;
+#if __NetBSD_Version__ >= 299000900
+ struct statvfs *mntbuf;
+#else
struct statfs *mntbuf;
+#endif
int ret=0,mntsize,i;
if (f==-1) f=fd;
@@ -483,7 +491,7 @@ public:
{ return 1; }
};
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
#include <sys/ioctl.h>
#include <camlib.h>
@@ -650,7 +658,11 @@ public:
}
int umount(int f=-1)
{ struct stat fsb,msb;
+#if __NetBSD_Version__ >= 299000900
+ struct statvfs *mntbuf;
+#else
struct statfs *mntbuf;
+#endif
int ret=0,mntsize,i;
if (f==-1) f=fd;