ports/59452: [PATCH] make x11-wm/epplets work with if_xname
Brooks Davis
brooks at one-eyed-alien.net
Wed Nov 19 07:20:13 UTC 2003
>Number: 59452
>Category: ports
>Synopsis: [PATCH] make x11-wm/epplets work with if_xname
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 18 23:20:11 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Brooks Davis
>Release: FreeBSD 4.9-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD freefall.freebsd.org 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #9: Tue Sep 16 16:58:42 PDT 2003 peter at freefall.freebsd.org:/c/src/sys/compile/FREEFALL i386
>Description:
Make epplets compile with if_xname.
>How-To-Repeat:
>Fix:
Index: files/patch-an
===================================================================
RCS file: /usr/cvs/ports/x11-wm/epplets/files/patch-an,v
retrieving revision 1.1
diff -u -p -r1.1 patch-an
--- files/patch-an 11 Aug 2001 20:18:19 -0000 1.1
+++ files/patch-an 19 Nov 2003 06:58:01 -0000
@@ -1,6 +1,9 @@
---- epplets/net.c.orig Tue Jul 31 23:50:29 2001
-+++ epplets/net.c Fri Aug 10 14:54:32 2001
-@@ -35,6 +35,22 @@
+
+$FreeBSD$
+
+--- epplets/net.c.orig Wed Dec 22 02:52:54 1999
++++ epplets/net.c Tue Nov 18 22:57:45 2003
+@@ -35,6 +35,23 @@
# include <kstat.h>
# include <sys/sysinfo.h>
#endif
@@ -9,6 +12,7 @@
+
+#include <sys/types.h>
+#include <sys/socket.h>
++#include <sys/param.h>
+
+#include <net/if.h>
+#include <net/if_var.h>
@@ -23,7 +27,7 @@
#include "epplet.h"
#include "net.h"
-@@ -51,6 +67,18 @@
+@@ -51,6 +68,18 @@
char buff[256], **names = NULL, *s;
unsigned long i;
@@ -42,7 +46,7 @@
names = (char **) malloc(sizeof(char *));
memset(names, 0, sizeof(char *));
-@@ -80,6 +108,66 @@
+@@ -80,6 +109,70 @@
return (names);
#elif defined(__sun__)
return ((char **) NULL);
@@ -80,6 +84,7 @@
+ num = 0;
+ while(ifnetaddr)
+ {
++#if __FreeBSD_version < 501113
+ if(kvm_read(kd, ifnetaddr, &ifnet, sizeof(ifnet)) == -1 ||
+ kvm_read(kd, (long)ifnet.if_name, type, 16) == -1)
+ {
@@ -90,6 +95,9 @@
+ ifnetaddr = (unsigned long)TAILQ_NEXT(&ifnet, if_link);
+
+ snprintf(name, 32, "%s%d", type, ifnet.if_unit);
++#else
++ strlcpy(name, ifnet.if_xname, sizeof(name));
++#endif
+
+ if((names = (char **)realloc(names, (++num + 1)*sizeof(char *))) == NULL)
+ return NULL;
@@ -109,7 +117,7 @@
#else
return ((char **) NULL);
#endif
-@@ -97,6 +185,21 @@
+@@ -97,6 +190,21 @@
unsigned char match = 0;
FILE *fp;
char buff[256], *colon = NULL, dev[64], in_str[64], out_str[64];
@@ -131,7 +139,7 @@
#endif
if (device == NULL) {
-@@ -151,6 +254,104 @@
+@@ -151,6 +259,108 @@
}
fclose(fp);
return ((match) ? (0) : (ENODEV));
@@ -172,6 +180,7 @@
+ if(ifaddraddr == 0)
+ {
+ ifnetfound = ifnetaddr;
++#if __FreeBSD_version < 501113
+ if(kvm_read(kd, ifnetaddr, &ifnet, sizeof(ifnet)) == -1 ||
+ kvm_read(kd, (long)ifnet.if_name, tname, 16) == -1)
+ {
@@ -181,8 +190,11 @@
+ }
+
+ tname[15] = '\0';
-+ ifnetaddr = (unsigned long)TAILQ_NEXT(&ifnet, if_link);
+ snprintf(name, 32, "%s%d", tname, ifnet.if_unit);
++#else
++ strlcpy(name, ifnet.if_xname, sizeof(name));
++#endif
++ ifnetaddr = (unsigned long)TAILQ_NEXT(&ifnet, if_link);
+
+ if(strncasecmp(name, device, 16) != 0)
+ continue;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list