]> granicus.if.org Git - strace/blobdiff - block.c
Print kernel_ureg_t and kernel_scno_t using dedicated format strings
[strace] / block.c
diff --git a/block.c b/block.c
index 6dd62d68d084dfb8bed62cf99ee44ed10c112660..1864b5922fdb00e04e31a605b326f60345b8b58f 100644 (file)
--- a/block.c
+++ b/block.c
@@ -45,8 +45,8 @@ typedef struct {
 #define BLKPG_DEVNAMELTH       64
 #define BLKPG_VOLNAMELTH       64
 typedef struct {
-       long long start;                /* starting offset in bytes */
-       long long length;               /* length in bytes */
+       int64_t start;                  /* starting offset in bytes */
+       int64_t length;                 /* length in bytes */
        int pno;                        /* partition number */
        char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
                                           to be used in kernel messages */
@@ -129,9 +129,10 @@ print_blkpg_req(struct tcb *tcp, const struct_blkpg_ioctl_arg *blkpg)
        tprintf(", flags=%d, datalen=%d, data=",
                blkpg->flags, blkpg->datalen);
 
-       if (!umove_or_printaddr(tcp, (long) blkpg->data, &p)) {
-               tprintf("{start=%lld, length=%lld, pno=%d, devname=",
-                       (long long) p.start, (long long) p.length, p.pno);
+       if (!umove_or_printaddr(tcp, ptr_to_kulong(blkpg->data), &p)) {
+               tprintf("{start=%" PRId64 ", length=%" PRId64
+                       ", pno=%d, devname=",
+                       p.start, p.length, p.pno);
                print_quoted_string(p.devname, sizeof(p.devname),
                                    QUOTE_0_TERMINATED);
                tprints(", volname=");
@@ -142,14 +143,14 @@ print_blkpg_req(struct tcb *tcp, const struct_blkpg_ioctl_arg *blkpg)
        tprints("}");
 }
 
-MPERS_PRINTER_DECL(int, block_ioctl, struct tcb *tcp,
-                  const unsigned int code, const long arg)
+MPERS_PRINTER_DECL(int, block_ioctl, struct tcb *const tcp,
+                  const unsigned int code, const kernel_ureg_t arg)
 {
        switch (code) {
        /* take arg as a value, not as a pointer */
        case BLKRASET:
        case BLKFRASET:
-               tprintf(", %lu", arg);
+               tprintf(", %" PRI_kru, arg);
                break;
 
        /* return an unsigned short */