summaryrefslogtreecommitdiff
path: root/ao-tools
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-03-10 09:35:02 -0600
committerKeith Packard <keithp@keithp.com>2015-03-10 09:35:02 -0600
commitfce4e6926de7cb5ef6ea64a8db134c442b86153b (patch)
treed4b672aa68d29cb2041a48704f872a584051e335 /ao-tools
parentce99807ef942de54a3f934d321baf3c3d26442bb (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.c4
-rw-r--r--ao-tools/lib/cc-usbdev.c6
-rw-r--r--ao-tools/lib/cc.h2
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);