diff options
author | Sean Young <sean@mess.org> | 2021-07-03 15:58:48 +0100 |
---|---|---|
committer | Sean Young <sean@mess.org> | 2021-07-03 22:19:22 +0100 |
commit | eb47c00736586329a2043512dacb10fcf95aa58a (patch) | |
tree | 2fa03df56781a404c2745ed2739b2279864b50c9 | |
parent | b2b981ff5b7c7a6a385673ae59ad173960823eb1 (diff) | |
download | v4l-utils-eb47c00736586329a2043512dacb10fcf95aa58a.tar.gz |
ir-ctl: print correct transmitter count
Signed-off-by: Sean Young <sean@mess.org>
-rw-r--r-- | utils/ir-ctl/ir-ctl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c index 3c3bcca1..66a257a7 100644 --- a/utils/ir-ctl/ir-ctl.c +++ b/utils/ir-ctl/ir-ctl.c @@ -933,7 +933,7 @@ static int lirc_options(struct arguments *args, int fd, unsigned features) if (features & LIRC_CAN_SET_TRANSMITTER_MASK) { rc = ioctl(fd, LIRC_SET_TRANSMITTER_MASK, &args->emitters); if (rc > 0) - fprintf(stderr, _("warning: %s: failed to set send transmitters: only %d available\n"), dev, rc); + fprintf(stderr, _("warning: %s: failed to set send transmitters: only %d available\n"), dev, ffs(~rc) - 1); else if (rc < 0) fprintf(stderr, _("warning: %s: failed to set send transmitters: %m\n"), dev); } else @@ -1026,8 +1026,11 @@ static void lirc_features(struct arguments *args, int fd, unsigned features) fprintf(stderr, _("warning: %s: device supports setting transmitter mask but returns 0 as number of transmitters\n"), dev); else if (rc < 0) fprintf(stderr, _("warning: %s: device supports setting transmitter mask but returns: %m\n"), dev); - else - printf(_(" - Set transmitter (%d available)\n"), rc); + else { + unsigned count = ffs(~rc) - 1; + + printf(_(" - Set transmitter (%d available)\n"), count); + } } } else if (features & LIRC_CAN_SEND_LIRCCODE) { printf(_(" - Device can send using device dependent LIRCCODE mode (not supported)\n")); |