]> granicus.if.org Git - strace/commitdiff
block.c: optimize decoding of paired ioctls
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 26 May 2016 12:36:56 +0000 (12:36 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 26 May 2016 14:44:13 +0000 (14:44 +0000)
* block.c (block_ioctl): Optimize decoding of commands that return
a signed int.

block.c

diff --git a/block.c b/block.c
index 5c81e8d260511d301b0d77e7777187ff1a78b7a4..b8e2bc53611168213c6cc401a6717adf5ee84776 100644 (file)
--- a/block.c
+++ b/block.c
@@ -123,13 +123,6 @@ block_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
                tprintf(", %lu", arg);
                break;
 
-       /* take a signed int */
-       case BLKROSET:
-       case BLKBSZSET:
-               tprints(", ");
-               printnum_int(tcp, arg, "%d");
-               break;
-
        /* return an unsigned short */
        case BLKSECTGET:
        case BLKROTATIONAL:
@@ -147,6 +140,10 @@ block_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
        case BLKDAXGET:
                if (entering(tcp))
                        return 0;
+               /* fall through */
+       /* take a signed int */
+       case BLKROSET:
+       case BLKBSZSET:
                tprints(", ");
                printnum_int(tcp, arg, "%d");
                break;