From 55f64f4bfabfd397f2eb67b62e1cec4450a0dccd Mon Sep 17 00:00:00 2001 From: nakai Date: Mon, 16 Apr 2001 07:06:31 +0000 Subject: Add appstatus port patch Submitted by: Aleksey Malyshev --- x11-wm/icewm/files/patch-am | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 x11-wm/icewm/files/patch-am (limited to 'x11-wm/icewm/files') diff --git a/x11-wm/icewm/files/patch-am b/x11-wm/icewm/files/patch-am new file mode 100644 index 000000000000..da482f7634b8 --- /dev/null +++ b/x11-wm/icewm/files/patch-am @@ -0,0 +1,49 @@ +--- src/apppstatus.cc.orig Sat Mar 17 00:17:37 2001 ++++ src/apppstatus.cc Thu Apr 5 22:45:29 2001 +@@ -270,6 +270,7 @@ + return isUpIsdn(); + #endif + ++#ifndef __FreeBSD__ + char buffer[32 * sizeof(struct ifreq)]; + struct ifconf ifc; + struct ifreq *ifr; +@@ -301,6 +302,38 @@ + } + + close(s); ++ ++#else // __FreeBSD__ ++ // FreeBSD code by Ronald Klop ++ struct ifmibdata ifmd; ++ size_t ifmd_size=sizeof(ifmibdata); ++ int nr_network_devs; ++ size_t int_size=sizeof(int); ++ int name[6]; ++ name[0] = CTL_NET; ++ name[1] = PF_LINK; ++ name[2] = NETLINK_GENERIC; ++ name[3] = IFMIB_IFDATA; ++ name[5] = IFDATA_GENERAL; ++ ++ if(sysctlbyname("net.link.generic.system.ifcount",&nr_network_devs, ++ &int_size,(void*)0,0) == -1) { ++ printf("%s@%d: %s\n",__FILE__,__LINE__,strerror(errno)); ++ } else { ++ for(int i=1;i<=nr_network_devs;i++) { ++ name[4] = i; /* row of the ifmib table */ ++ ++ if(sysctl(name, 6, &ifmd, &ifmd_size, (void *)0, 0) == -1) { ++ printf(_("%s@%d: %s\n"),__FILE__,__LINE__,strerror(errno)); ++ continue; ++ } ++ ++ if (strcmp(ifmd.ifmd_name, netDevice) == 0 && (ifmd.ifmd_flags & IFF_RUNNING)) { ++ return true; ++ } ++ } ++ } ++#endif // __FreeBSD__ + return false; + #endif // if 0 + } -- cgit