summaryrefslogtreecommitdiff
path: root/sysutils/gkrellm/patches/patch-aa
blob: 2263c8bb24b4d0cd8ff45ecab9b661a30fc99dc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
$NetBSD: patch-aa,v 1.17 2008/12/19 20:20:22 macallan Exp $

--- src/sysdeps/bsd-common.c.orig	2006-03-29 17:23:37.000000000 -0500
+++ src/sysdeps/bsd-common.c
@@ -23,7 +23,7 @@
 */
 
 #if !(defined(__FreeBSD__) && __FreeBSD_version < 410000) && \
-    !(defined(__NetBSD__) && __NetBSD_version < 105000000) && \
+    !(defined(__NetBSD__) && __NetBSD_Version__ < 105000000) && \
     !(defined(__OpenBSD__) && OpenBSD < 200006) && \
     !defined(__APPLE__)
 #define HAVE_GETIFADDRS	1
@@ -52,8 +52,11 @@ gkrellm_sys_net_read_data(void)
 			if (ifa->ifa_addr->sa_family != AF_LINK)
 				continue;
 			ifd = (struct if_data *)ifa->ifa_data;
+			if (ifd == NULL)
+				continue;
+
 			gkrellm_net_assign_data(ifa->ifa_name,
					ifd->ifi_ibytes, ifd->ifi_obytes);
 			} 
@@ -255,7 +258,11 @@ void
 gkrellm_sys_fs_get_mounts_list(void)
 	{
 	gchar		*s, *dev, *dir, *type;
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	struct statvfs	*mntbuf;
+#else
 	struct statfs	*mntbuf;
+#endif
 	gint		mntsize, i;
 
 	if ((mntsize = getmntinfo(&mntbuf, MNT_NOWAIT)) == 0)
@@ -281,12 +288,24 @@ gkrellm_sys_fs_get_mounts_list(void)
 void
 gkrellm_sys_fs_get_fsusage(gpointer fs, gchar *dir)
 	{
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	struct statvfs	st;
+#else
 	struct statfs	st;
+#endif
 
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	if (!statvfs(dir, &st))
+#else
 	if (!statfs(dir, &st))
+#endif
 		gkrellm_fs_assign_fsusage_data(fs,
 					(glong) st.f_blocks, (glong) st.f_bavail,
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+					(glong) st.f_bfree, (glong) st.f_frsize);
+#else
 					(glong) st.f_bfree, (glong) st.f_bsize);
+#endif
 	else
 		gkrellm_fs_assign_fsusage_data(fs, 0, 0, 0, 0);
 	}
@@ -345,7 +364,7 @@ gkrellm_sys_fs_init(void)
 	}
 #endif
 
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 gboolean
 gkrellm_sys_fs_init(void)
 	{