diff options
author | Keith Packard <keithp@keithp.com> | 2015-03-10 09:35:02 -0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-03-10 09:35:02 -0600 |
commit | fce4e6926de7cb5ef6ea64a8db134c442b86153b (patch) | |
tree | d4b672aa68d29cb2041a48704f872a584051e335 /ao-tools | |
parent | ce99807ef942de54a3f934d321baf3c3d26442bb (diff) |
ao-tools/ao-list: Show devices that have no TTY
chaoskey doesn't advertise itself as a modem, so the kernel doesn't
allocate a tty device.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools')
-rw-r--r-- | ao-tools/ao-list/ao-list.c | 4 | ||||
-rw-r--r-- | ao-tools/lib/cc-usbdev.c | 6 | ||||
-rw-r--r-- | ao-tools/lib/cc.h | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/ao-tools/ao-list/ao-list.c b/ao-tools/ao-list/ao-list.c index c4b43d8f..4c065e79 100644 --- a/ao-tools/ao-list/ao-list.c +++ b/ao-tools/ao-list/ao-list.c @@ -28,12 +28,12 @@ main (int argc, char **argv) struct cc_usbdev *dev; int i; - devs = cc_usbdevs_scan(); + devs = cc_usbdevs_scan(TRUE); if (devs) { for (i = 0; i < devs->ndev; i++) { dev = devs->dev[i]; printf ("%-20.20s %6d %s\n", - dev->product, dev->serial, dev->tty); + dev->product, dev->serial, dev->tty ? dev->tty : "(none)"); } cc_usbdevs_free(devs); } diff --git a/ao-tools/lib/cc-usbdev.c b/ao-tools/lib/cc-usbdev.c index 95bfa244..6c3ba591 100644 --- a/ao-tools/lib/cc-usbdev.c +++ b/ao-tools/lib/cc-usbdev.c @@ -219,7 +219,7 @@ is_am(int idVendor, int idProduct) { } struct cc_usbdevs * -cc_usbdevs_scan(void) +cc_usbdevs_scan(int non_tty) { int e; struct dirent **ents; @@ -241,7 +241,7 @@ cc_usbdevs_scan(void) dir = cc_fullname(USB_DEVICES, ents[e]->d_name); dev = usb_scan_device(dir); free(dir); - if (is_am(dev->idVendor, dev->idProduct) && dev->tty) { + if (is_am(dev->idVendor, dev->idProduct) && (non_tty || dev->tty)) { if (devs->dev) devs->dev = realloc(devs->dev, (devs->ndev + 1) * sizeof (struct usbdev *)); @@ -274,7 +274,7 @@ match_dev(char *product, int serial) int i; char *tty = NULL; - devs = cc_usbdevs_scan(); + devs = cc_usbdevs_scan(FALSE); if (!devs) return NULL; for (i = 0; i < devs->ndev; i++) { diff --git a/ao-tools/lib/cc.h b/ao-tools/lib/cc.h index bff4b2c9..ff95e4fc 100644 --- a/ao-tools/lib/cc.h +++ b/ao-tools/lib/cc.h @@ -50,7 +50,7 @@ void cc_usbdevs_free(struct cc_usbdevs *usbdevs); struct cc_usbdevs * -cc_usbdevs_scan(void); +cc_usbdevs_scan(int non_tty); char * cc_usbdevs_find_by_arg(char *arg, char *default_product); |