]> granicus.if.org Git - strace/commitdiff
Simplify some sigmask manipulations
authorDenys Vlasenko <dvlasenk@redhat.com>
Thu, 18 Jul 2013 18:12:33 +0000 (20:12 +0200)
committerDenys Vlasenko <dvlasenk@redhat.com>
Thu, 18 Jul 2013 18:55:30 +0000 (20:55 +0200)
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
signal.c

index d863e502cbbe1cf4117aace7a9d19b0f9679d894..3626cf368d3a11d8cb6993fe589d8d399410e4c4 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -1140,13 +1140,12 @@ sys_sigprocmask(struct tcb *tcp)
                 * Everyone else:
                 *      ret = sigprocmask(how, &new, &old, ...);
                 */
-               memcpy(&ss, &tcp->u_arg[1], sizeof(long));
                printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
-               tprints(", ");
-               printsigmask(&ss, 0);
+               long_to_sigset(tcp->u_arg[1], &ss);
+               tprints(sprintsigmask(", ", &ss, 0));
        }
        else if (!syserror(tcp)) {
-               memcpy(&ss, &tcp->u_rval, sizeof(long));
+               long_to_sigset(tcp->u_rval, &ss);
                tcp->auxstr = sprintsigmask("old mask ", &ss, 0);
                return RVAL_HEX | RVAL_STR;
        }