]> granicus.if.org Git - strace/blobdiff - print_timeval.c
io: change size types from unsigned long to kernel_ureg_t
[strace] / print_timeval.c
index 7722062195d645ce4730796fb66606b136dbab22..de4580f03915f79f6f31f3cdd35ca1768901dc8a 100644 (file)
@@ -47,7 +47,7 @@ MPERS_PRINTER_DECL(void, print_struct_timeval, const void *arg)
 }
 
 MPERS_PRINTER_DECL(void, print_timeval,
-                  struct tcb *tcp, const long addr)
+                  struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval_t t;
 
@@ -57,23 +57,27 @@ MPERS_PRINTER_DECL(void, print_timeval,
        print_timeval_t(&t);
 }
 
-MPERS_PRINTER_DECL(void, print_timeval_pair,
-                  struct tcb *tcp, const long addr)
+static bool
+print_timeval_item(struct tcb *tcp, void *elem_buf, size_t size, void *data)
 {
-       timeval_t t[2];
+       timeval_t *t = elem_buf;
 
-       if (umove_or_printaddr(tcp, addr, &t))
-               return;
+       print_timeval_t(t);
 
-       tprints("[");
-       print_timeval_t(&t[0]);
-       tprints(", ");
-       print_timeval_t(&t[1]);
-       tprints("]");
+       return true;
+}
+
+MPERS_PRINTER_DECL(void, print_timeval_pair,
+                  struct tcb *const tcp, const kernel_ureg_t addr)
+{
+       timeval_t t;
+
+       print_array(tcp, addr, 2, &t, sizeof(t), umoven_or_printaddr,
+                   print_timeval_item, NULL);
 }
 
 MPERS_PRINTER_DECL(const char *, sprint_timeval,
-                  struct tcb *tcp, const long addr)
+                  struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval_t t;
        static char buf[sizeof(timeval_fmt) + 3 * sizeof(t)];
@@ -92,7 +96,7 @@ MPERS_PRINTER_DECL(const char *, sprint_timeval,
 }
 
 MPERS_PRINTER_DECL(void, print_itimerval,
-                  struct tcb *tcp, const long addr)
+                  struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval_t t[2];
 
@@ -115,7 +119,7 @@ print_timeval32_t(const timeval32_t *t)
 }
 
 void
-print_timeval32(struct tcb *tcp, const long addr)
+print_timeval32(struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval32_t t;
 
@@ -126,7 +130,7 @@ print_timeval32(struct tcb *tcp, const long addr)
 }
 
 void
-print_timeval32_pair(struct tcb *tcp, const long addr)
+print_timeval32_pair(struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval32_t t[2];
 
@@ -141,7 +145,7 @@ print_timeval32_pair(struct tcb *tcp, const long addr)
 }
 
 void
-print_itimerval32(struct tcb *tcp, const long addr)
+print_itimerval32(struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval32_t t[2];
 
@@ -156,7 +160,7 @@ print_itimerval32(struct tcb *tcp, const long addr)
 }
 
 const char *
-sprint_timeval32(struct tcb *tcp, const long addr)
+sprint_timeval32(struct tcb *const tcp, const kernel_ureg_t addr)
 {
        timeval32_t t;
        static char buf[sizeof(timeval_fmt) + 3 * sizeof(t)];