summaryrefslogtreecommitdiff
path: root/x11/kdebase3/patches/patch-af
blob: f5537a4398bb8f01513d42d748f1454c5d6c66bd (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
$NetBSD: patch-af,v 1.9 2008/01/04 21:05:57 markd Exp $

--- kcontrol/info/info_netbsd.cpp.orig	2005-09-10 20:25:05.000000000 +1200
+++ kcontrol/info/info_netbsd.cpp
@@ -41,6 +41,7 @@
 #include <qfontmetrics.h>
 #include <qstrlist.h>
 #include <qtextstream.h>
+#include <qregexp.h>
 
 #include <kdebug.h>
 #include <kio/global.h> /* for KIO::convertSize() */
@@ -123,7 +124,7 @@ static bool GetDmesgInfo(QListView *lBox
 	}
 
 	QListViewItem *olditem = NULL;
-	while(!(s = t->readLine().local8Bit()).isEmpty()) {
+	while(!(s = t->readLine().local8Bit()).isNull()) {
 		if (!seencpu) {
 			if (s.contains("cpu"))
 				seencpu = true;
@@ -134,9 +135,7 @@ static bool GetDmesgInfo(QListView *lBox
 			s.contains("WARNING: old BSD partition ID!"))
 			break;
 
-		if (!filter
-		    || (filter[0] == '^' && s.find(&filter[1]) == 0)
-		    || (filter[0] != '^' && s.contains(filter))) {
+		if (!filter || s.contains(QRegExp(filter))) {
 			if (func)
 				func(lBox, s);
 			else
@@ -163,7 +162,7 @@ AddIRQLine(QListView *lBox, QString s)
 	int pos, irqnum;
 	char numstr[3];
 
-	pos = s.find(" irq ");
+	pos = s.find(QRegExp("[ (]irq "));
 	irqnum = (pos < 0) ? 0 : atoi(&s.ascii()[pos+5]);
 	if (irqnum)
 		snprintf(numstr, 3, "%02d", irqnum);
@@ -181,7 +180,7 @@ bool GetInfo_IRQ (QListView *lBox)
 	lBox->addColumn(i18n("Device"));
 	lBox->setSorting(0);
 	lBox->setShowSortIndicator(FALSE);
-	(void) GetDmesgInfo(lBox, " irq ", AddIRQLine);
+	(void) GetDmesgInfo(lBox, "[ (]irq ", AddIRQLine);
 	return true;
 }
 
@@ -265,9 +264,11 @@ bool GetInfo_SCSI (QListView *lbox)
 bool GetInfo_Partitions (QListView *lbox)
 {
 	int num; // number of mounts
-	// FIXME: older pkgsrc patches checked ST_RDONLY for this declaration
-	// what is ST_RDONLY and how does it affect getmntinfo?
+#ifdef HAVE_STATVFS
+	struct statvfs *mnt; // mount data pointer
+#else
 	struct statfs *mnt; // mount data pointer
+#endif
 
 	// get mount info
 	if (!(num=getmntinfo(&mnt, MNT_WAIT))) {
@@ -290,24 +291,31 @@ bool GetInfo_Partitions (QListView *lbox
 		unsigned long long big[2];
 		QString vv[5];
 
+#ifdef HAVE_STATVFS
+		big[0] = big[1] = mnt->f_frsize; // coerce the product
+#else
 		big[0] = big[1] = mnt->f_bsize; // coerce the product
+#endif
 		big[0] *= mnt->f_blocks;
 		big[1] *= mnt->f_bavail; // FIXME: use f_bfree if root?
 
 		// convert to strings
 		vv[0] = KIO::convertSize(big[0]);
-		vv[1] = QString::fromLatin1("%1 (%2%%)")
+		vv[1] = QString("%1 (%2%)")
 				.arg(KIO::convertSize(big[1]))
 				.arg(mnt->f_blocks ? mnt->f_bavail*100/mnt->f_blocks : 0);
 
-		// FIXME: these two are large enough to punctuate
-		vv[2] = QString::number(mnt->f_files);
-		vv[3] = QString::fromLatin1("%1 (%2%%) ")
+		vv[2] = QString("%L1").arg(mnt->f_files);
+		vv[3] = QString("%L1 (%2%) ")
 				.arg(mnt->f_ffree)
 				.arg(mnt->f_files ? mnt->f_ffree*100/mnt->f_files : 0);
 
 		vv[4] = QString::null;
+#ifdef HAVE_STATVFS
+#define MNTF(x) if (mnt->f_flag & ST_##x) vv[4] += QString::fromLatin1(#x " ");
+#else
 #define MNTF(x) if (mnt->f_flags & MNT_##x) vv[4] += QString::fromLatin1(#x " ");
+#endif
 		MNTF(ASYNC)
 		MNTF(DEFEXPORTED)
 		MNTF(EXKERB)
@@ -316,7 +324,9 @@ bool GetInfo_Partitions (QListView *lbox
 		MNTF(EXPORTED)
 		MNTF(EXPUBLIC)
 		MNTF(EXRDONLY)
+#ifndef HAVE_STATVFS
 		MNTF(IGNORE)
+#endif
 		MNTF(LOCAL)
 		MNTF(NOATIME)
 		MNTF(NOCOREDUMP)