[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#608963: vnstat: Enable functionality for GNU/kFreeBSD.



Package: vnstat
Version: 1.10-1
Severity: important
Tags: patch
Usertags: kfreebsd
X-Debbugs-CC: debian-bsd@lists.debian.org

The package vnstat is completely broken on GNU/kFreeBSD.
The executables do not have the intended functionality
due to missing preprocessor conditionals.

The present patch restores full functionality to GNU/kFreeBSD.

Best regards,

Mats Erik Andersson, DM
Description: Adapt source to GNU/kFreeBSD
 Modify some preprocessor conditionals to detect
 __FreeBSD_kernel__. This suffices.
Author: Mats Erik Andersson <debian@gisladisker.se>
Forwarded: no
Last-Update: 2011-01-05

--- vnstat-1.10.debian/src/common.h
+++ vnstat-1.10/src/common.h
@@ -20,7 +20,7 @@
 #include <syslog.h>
 #include <sys/statvfs.h>
 
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 #include <sys/param.h>
 #include <sys/mount.h>
 #include <sys/socket.h>
--- vnstat-1.10.debian/src/ifinfo.c
+++ vnstat-1.10/src/ifinfo.c
@@ -29,7 +29,7 @@
 			return 0;
 		}
 	}
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)  || defined(__FreeBSD_kernel__)
 	if (readifaddrs(inface)!=1) {
 		snprintf(errorstring, 512, "Unable to get interface \"%s\" statistics.", inface);
 		printe(PT_Error);
@@ -48,7 +48,7 @@
 	DIR *dp;
 	struct dirent *di;
 	char procline[512], temp[64];
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 	struct ifaddrs *ifap, *ifa;
 #endif
 
@@ -92,7 +92,7 @@
 		}	
 	}
 
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 	if (getifaddrs(&ifap) >= 0) {
 
 		/* make list of interfaces */
@@ -399,7 +399,7 @@
 	}
 }
 
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 int readifaddrs(const char *iface)
 {
 	struct ifaddrs *ifap, *ifa;
--- vnstat-1.10.debian/src/ifinfo.h
+++ vnstat-1.10/src/ifinfo.h
@@ -7,7 +7,7 @@
 int readsysclassnet(const char *iface);
 void parseifinfo(int newdb);
 uint64_t countercalc(uint64_t a, uint64_t b);
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 int readifaddrs(const char *iface);
 #endif
 
--- vnstat-1.10.debian/src/misc.c
+++ vnstat-1.10/src/misc.c
@@ -170,7 +170,7 @@
 	result = strtoul(statline+6, (char **)NULL, 0);
 	fclose(fp);
 
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
 	struct timeval btm;
 	size_t len = sizeof(btm);
 	int mib[2] = {CTL_KERN, KERN_BOOTTIME};

Attachment: signature.asc
Description: Digital signature


Reply to: