Author: trasz
Date: Tue Apr 17 19:39:47 2018
New Revision: 332659
URL: https://svnweb.freebsd.org/changeset/base/332659

Log:
  Make it possible to pass the ugenX.Y to usbconfig(8) without using "-d",
  eg "usbconfig ugen1.2 dump_all_desc".
  
  Reviewed by:  hselasky@
  MFC after:    2 weeks
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/usbconfig/usbconfig.8
  head/usr.sbin/usbconfig/usbconfig.c

Modified: head/usr.sbin/usbconfig/usbconfig.8
==============================================================================
--- head/usr.sbin/usbconfig/usbconfig.8 Tue Apr 17 18:49:17 2018        
(r332658)
+++ head/usr.sbin/usbconfig/usbconfig.8 Tue Apr 17 19:39:47 2018        
(r332659)
@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd December 30, 2017
+.Dd April 17, 2018
 .Dt USBCONFIG 8
 .Os
 .Sh NAME
@@ -35,7 +35,7 @@
 .Op Fl a Ar addr
 .Op cmds...
 .Nm
-.Op Fl d Ar [ugen]<unit>.<addr>
+.Op Oo Fl d Oc Ar [ugen]<unit>.<addr>
 .Op cmds...
 .Sh DESCRIPTION
 The

Modified: head/usr.sbin/usbconfig/usbconfig.c
==============================================================================
--- head/usr.sbin/usbconfig/usbconfig.c Tue Apr 17 18:49:17 2018        
(r332658)
+++ head/usr.sbin/usbconfig/usbconfig.c Tue Apr 17 19:39:47 2018        
(r332659)
@@ -820,6 +820,29 @@ main(int argc, char **argv)
                        opt->got_any++;
                        break;
                default:
+                       if (n == 1) {
+                               ptr = argv[n];
+
+                               if ((ptr[0] == 'u') &&
+                                   (ptr[1] == 'g') &&
+                                   (ptr[2] == 'e') &&
+                                   (ptr[3] == 'n'))
+                                       ptr += 4;
+
+                               if ((sscanf(ptr, "%d.%d",
+                                   &unit, &addr) != 2) ||
+                                   (unit < 0) || (unit > 65535) ||
+                                   (addr < 0) || (addr > 65535)) {
+                                       usage();
+                                       break;
+                               }
+
+                               opt->bus = unit;
+                               opt->addr = addr;
+                               opt->got_bus = 1;
+                               opt->got_addr = 1;
+                               break;
+                       }
                        usage();
                        break;
                }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to