Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Oct 2017 07:01:27 +0000 (UTC)
From:      Andriy Voskoboinyk <avos@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324657 - head/usr.sbin/wlandebug
Message-ID:  <201710160701.v9G71RHX065541@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avos
Date: Mon Oct 16 07:01:27 2017
New Revision: 324657
URL: https://svnweb.freebsd.org/changeset/base/324657

Log:
  wlandebug(8): obtain original interface name via ifconfig_get_orig_name()

Modified:
  head/usr.sbin/wlandebug/Makefile
  head/usr.sbin/wlandebug/wlandebug.c

Modified: head/usr.sbin/wlandebug/Makefile
==============================================================================
--- head/usr.sbin/wlandebug/Makefile	Mon Oct 16 06:54:26 2017	(r324656)
+++ head/usr.sbin/wlandebug/Makefile	Mon Oct 16 07:01:27 2017	(r324657)
@@ -3,6 +3,8 @@
 PROG=	wlandebug
 MAN=	wlandebug.8
 
+LIBADD+=	ifconfig
+
 WARNS?=	2
 
 .include <bsd.prog.mk>

Modified: head/usr.sbin/wlandebug/wlandebug.c
==============================================================================
--- head/usr.sbin/wlandebug/wlandebug.c	Mon Oct 16 06:54:26 2017	(r324656)
+++ head/usr.sbin/wlandebug/wlandebug.c	Mon Oct 16 07:01:27 2017	(r324657)
@@ -43,6 +43,8 @@
 #include <string.h>
 #include <err.h>
 
+#include <libifconfig.h>
+
 #define	N(a)	(sizeof(a)/sizeof(a[0]))
 
 const char *progname;
@@ -160,6 +162,21 @@ setoid(char oid[], size_t oidlen, const char *wlan)
 #endif
 }
 
+static void
+get_orig_iface_name(char *oid, size_t oid_size, char *name)
+{
+	struct ifconfig_handle *h;
+	char *orig_name;
+
+	h = ifconfig_open();
+	if (ifconfig_get_orig_name(h, name, &orig_name) < 0)
+		errc(1, ifconfig_err_errno(h), "cannot get interface name");
+
+	ifconfig_close(h);
+	setoid(oid, oid_size, orig_name);
+	free(orig_name);
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -179,9 +196,7 @@ main(int argc, char *argv[])
 		} else if (strcmp(argv[1], "-i") == 0) {
 			if (argc <= 2)
 				errx(1, "missing interface name for -i option");
-			if (strncmp(argv[2], "wlan", 4) != 0)
-				errx(1, "expecting a wlan interface name");
-			setoid(oid, sizeof(oid), argv[2]);
+			get_orig_iface_name(oid, sizeof(oid), argv[2]);
 			argc -= 2, argv += 2;
 		} else if (strcmp(argv[1], "-?") == 0)
 			usage();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710160701.v9G71RHX065541>