diff --git a/ttynvt.c b/ttynvt.c index c7e7e6b..605f91f 100644 --- a/ttynvt.c +++ b/ttynvt.c @@ -714,6 +714,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg, CHECK_BUF_IN(sizeof(int)); tiocm = *(unsigned int *)in_buf; fuse_reply_ioctl(req, 0, 0, 0); + DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm); if (tiocm & TIOCM_RTS) { mcr |= TIOCM_RTS; @@ -724,11 +725,12 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg, mcr |= TIOCM_DTR; telnet_rfc2217_ctl(tty->tn, TNS_CTL_DTR_ON); } - break; + goto show_mctl; case TIOCMBIC: CHECK_BUF_IN(sizeof(int)); tiocm = *(unsigned int *)in_buf; fuse_reply_ioctl(req, 0, 0, 0); + DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm); if (tiocm & TIOCM_RTS) { mcr &= ~TIOCM_RTS; @@ -739,21 +741,22 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg, mcr &= ~TIOCM_DTR; telnet_rfc2217_ctl(tty->tn, TNS_CTL_DTR_OFF); } - break; + goto show_mctl; case TIOCMSET: CHECK_BUF_IN(sizeof(int)); tiocm = *(unsigned int *)in_buf; fuse_reply_ioctl(req, 0, 0, 0); - - DBG("CFG ioctl: DTR=%c RTS=%c\n", - tiocm & TIOCM_DTR ? '1' : '0', tiocm & TIOCM_RTS ? '1' : '0'); - + DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm); mcr &= ~(TIOCM_RTS | TIOCM_DTR); mcr |= tiocm & (TIOCM_RTS | TIOCM_DTR); telnet_rfc2217_ctl(tty->tn, (tiocm & TIOCM_DTR) ? TNS_CTL_DTR_ON : TNS_CTL_DTR_OFF); telnet_rfc2217_ctl(tty->tn, (tiocm & TIOCM_RTS) ? TNS_CTL_RTS_ON : TNS_CTL_RTS_OFF); + goto show_mctl; + show_mctl: + DBG("CFG ioctl: DTR=%c RTS=%c\n", + mcr & TIOCM_DTR ? '1' : '0', mcr & TIOCM_RTS ? '1' : '0'); break; case TCSBRK: fuse_reply_ioctl(req, 0, 0, 0);