Author: hselasky
Date: Mon Jan  6 09:38:08 2020
New Revision: 356405
URL: https://svnweb.freebsd.org/changeset/base/356405

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

Modified:
  stable/10/usr.sbin/usbconfig/usbconfig.8
  stable/10/usr.sbin/usbconfig/usbconfig.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/usbconfig/usbconfig.8
==============================================================================
--- stable/10/usr.sbin/usbconfig/usbconfig.8    Mon Jan  6 09:37:13 2020        
(r356404)
+++ stable/10/usr.sbin/usbconfig/usbconfig.8    Mon Jan  6 09:38:08 2020        
(r356405)
@@ -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: stable/10/usr.sbin/usbconfig/usbconfig.c
==============================================================================
--- stable/10/usr.sbin/usbconfig/usbconfig.c    Mon Jan  6 09:37:13 2020        
(r356404)
+++ stable/10/usr.sbin/usbconfig/usbconfig.c    Mon Jan  6 09:38:08 2020        
(r356405)
@@ -818,6 +818,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-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to