]> granicus.if.org Git - strace/commitdiff
Change signatures of print_*time* functions to match print_timex
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 4 May 2019 23:15:52 +0000 (23:15 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 4 May 2019 23:15:52 +0000 (23:15 +0000)
Make all these functions that print time by address return -1 when
umove_or_printaddr() returns non-zero.

This helps to use these functions as parameters to other functions.

* defs.h [ALPHA] (print_timeval32, print_timeval32_utimes,
print_itimerval32): Change return type to int.
* desc.c (decode_select): Change return type of print_tv_ts to int.
* print_timespec.c (print_timespec, print_timespec_utime_pair,
print_itimerspec): Change return type to int, return -1 when
umove_or_printaddr() returns non-zero.
* print_timeval.c (print_timeval, print_timeval_utimes,
print_itimerval): Likewise.
[ALPHA] (print_timeval32, print_timeval32_utimes, print_itimerval32):
Likewise.

defs.h
desc.c
print_timespec.c
print_timeval.c

diff --git a/defs.h b/defs.h
index 88dad64d3ef515e7fb8d2990814c02feca180e56..fb466cb9b03a6733b299a654bb9429f66300a137 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -1115,9 +1115,9 @@ typedef struct {
 extern void print_timeval32_t(const timeval32_t *);
 extern void printrusage32(struct tcb *, kernel_ulong_t);
 extern const char *sprint_timeval32(struct tcb *, kernel_ulong_t addr);
-extern void print_timeval32(struct tcb *, kernel_ulong_t addr);
-extern void print_timeval32_utimes(struct tcb *, kernel_ulong_t addr);
-extern void print_itimerval32(struct tcb *, kernel_ulong_t addr);
+extern int print_timeval32(struct tcb *, kernel_ulong_t addr);
+extern int print_timeval32_utimes(struct tcb *, kernel_ulong_t addr);
+extern int print_itimerval32(struct tcb *, kernel_ulong_t addr);
 # endif
 
 # ifdef HAVE_STRUCT_USER_DESC
diff --git a/desc.c b/desc.c
index 690b81df9fef986d59880724d145f459e7710dc2..c153624822f4f3fdf824c68185163c61ca23bbaf 100644 (file)
--- a/desc.c
+++ b/desc.c
@@ -52,7 +52,7 @@ SYS_FUNC(dup3)
 
 static int
 decode_select(struct tcb *const tcp, const kernel_ulong_t *const args,
-             void (*const print_tv_ts) (struct tcb *, kernel_ulong_t),
+             int (*const print_tv_ts) (struct tcb *, kernel_ulong_t),
              const char * (*const sprint_tv_ts) (struct tcb *, kernel_ulong_t))
 {
        int i, j;
index 14dd2d60d266aa218eb54acc5482e14c44e0f8ab..97c6bc3080240ed0d95258189c126ed7d7548c8e 100644 (file)
@@ -91,15 +91,16 @@ MPERS_PRINTER_DECL(bool, print_struct_timespec_array_data_size,
        return true;
 }
 
-MPERS_PRINTER_DECL(void, print_timespec,
+MPERS_PRINTER_DECL(int, print_timespec,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timespec_t t;
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        print_timespec_t(&t);
+       return 0;
 }
 
 MPERS_PRINTER_DECL(const char *, sprint_timespec,
@@ -122,32 +123,34 @@ MPERS_PRINTER_DECL(const char *, sprint_timespec,
        return buf;
 }
 
-MPERS_PRINTER_DECL(void, print_timespec_utime_pair,
+MPERS_PRINTER_DECL(int, print_timespec_utime_pair,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timespec_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("[");
        print_timespec_t_utime(&t[0]);
        tprints(", ");
        print_timespec_t_utime(&t[1]);
        tprints("]");
+       return 0;
 }
 
-MPERS_PRINTER_DECL(void, print_itimerspec,
+MPERS_PRINTER_DECL(int, print_itimerspec,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timespec_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("{it_interval=");
        print_timespec_t(&t[0]);
        tprints(", it_value=");
        print_timespec_t(&t[1]);
        tprints("}");
+       return 0;
 }
index 6f639001797d314bcef92544a6dd0e47d99acae2..bb73e7c0471c36b8f399846544a7628433d4fe4c 100644 (file)
@@ -50,30 +50,32 @@ MPERS_PRINTER_DECL(bool, print_struct_timeval_data_size,
        return true;
 }
 
-MPERS_PRINTER_DECL(void, print_timeval,
+MPERS_PRINTER_DECL(int, print_timeval,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval_t t;
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        print_timeval_t(&t);
+       return 0;
 }
 
-MPERS_PRINTER_DECL(void, print_timeval_utimes,
+MPERS_PRINTER_DECL(int, print_timeval_utimes,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("[");
        print_timeval_t_utime(&t[0]);
        tprints(", ");
        print_timeval_t_utime(&t[1]);
        tprints("]");
+       return 0;
 }
 
 MPERS_PRINTER_DECL(const char *, sprint_timeval,
@@ -96,19 +98,20 @@ MPERS_PRINTER_DECL(const char *, sprint_timeval,
        return buf;
 }
 
-MPERS_PRINTER_DECL(void, print_itimerval,
+MPERS_PRINTER_DECL(int, print_itimerval,
                   struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("{it_interval=");
        print_timeval_t(&t[0]);
        tprints(", it_value=");
        print_timeval_t(&t[1]);
        tprints("}");
+       return 0;
 }
 
 #ifdef ALPHA
@@ -128,45 +131,48 @@ print_timeval32_t_utime(const timeval32_t *t)
                zero_extend_signed_to_ull(t->tv_usec)));
 }
 
-void
+int
 print_timeval32(struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval32_t t;
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        print_timeval32_t(&t);
+       return 0;
 }
 
-void
+int
 print_timeval32_utimes(struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval32_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("[");
        print_timeval32_t_utime(&t[0]);
        tprints(", ");
        print_timeval32_t_utime(&t[1]);
        tprints("]");
+       return 0;
 }
 
-void
+int
 print_itimerval32(struct tcb *const tcp, const kernel_ulong_t addr)
 {
        timeval32_t t[2];
 
        if (umove_or_printaddr(tcp, addr, &t))
-               return;
+               return -1;
 
        tprints("{it_interval=");
        print_timeval32_t(&t[0]);
        tprints(", it_value=");
        print_timeval32_t(&t[1]);
        tprints("}");
+       return 0;
 }
 
 const char *