From e0b5e913757716c8cc2cde31ee472fba6a880198 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 25 May 2016 07:37:44 +0000 Subject: [PATCH] rtc.c: optimize decoding of paired ioctls * rtc.c (rtc_ioctl): Optimize decoding of RTC_ALM_READ/RTC_ALM_SET, RTC_RD_TIME/RTC_SET_TIME, and RTC_WKALM_RD/RTC_WKALM_SET ioctl pairs. --- rtc.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/rtc.c b/rtc.c index 0806b0e4..1978ff0b 100644 --- a/rtc.c +++ b/rtc.c @@ -49,7 +49,6 @@ decode_rtc_time(struct tcb *tcp, const long addr) { struct rtc_time rt; - tprints(", "); if (!umove_or_printaddr(tcp, addr, &rt)) print_rtc_time(tcp, &rt); } @@ -59,7 +58,6 @@ decode_rtc_wkalrm(struct tcb *tcp, const long addr) { struct rtc_wkalrm wk; - tprints(", "); if (!umove_or_printaddr(tcp, addr, &wk)) { tprintf("{enabled=%d, pending=%d, ", wk.enabled, wk.pending); print_rtc_time(tcp, &wk.time); @@ -71,14 +69,14 @@ int rtc_ioctl(struct tcb *tcp, const unsigned int code, const long arg) { switch (code) { - case RTC_ALM_SET: - case RTC_SET_TIME: - decode_rtc_time(tcp, arg); - break; case RTC_ALM_READ: case RTC_RD_TIME: if (entering(tcp)) return 0; + /* fall through */ + case RTC_ALM_SET: + case RTC_SET_TIME: + tprints(", "); decode_rtc_time(tcp, arg); break; case RTC_IRQP_SET: @@ -92,12 +90,12 @@ rtc_ioctl(struct tcb *tcp, const unsigned int code, const long arg) tprints(", "); printnum_ulong(tcp, arg); break; - case RTC_WKALM_SET: - decode_rtc_wkalrm(tcp, arg); - break; case RTC_WKALM_RD: if (entering(tcp)) return 0; + /* fall through */ + case RTC_WKALM_SET: + tprints(", "); decode_rtc_wkalrm(tcp, arg); break; #ifdef RTC_VL_READ -- 2.50.1