]> granicus.if.org Git - strace/blobdiff - alpha.c
nlattr: add UID/GID netlink attribute decoders
[strace] / alpha.c
diff --git a/alpha.c b/alpha.c
index e343b7ebd3639240ad9d09aad392354809fe971d..376ec0f577925059aac45a1fbb4aebad722248ea 100644 (file)
--- a/alpha.c
+++ b/alpha.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,6 +30,8 @@
 
 #ifdef ALPHA
 
+# include "xstring.h"
+
 static int
 decode_getxxid(struct tcb *tcp, const char *what)
 {
@@ -40,7 +43,7 @@ decode_getxxid(struct tcb *tcp, const char *what)
                return 0;
        static const char const fmt[] = "%s %ld";
        static char outstr[sizeof(fmt) + 3 * sizeof(rval)];
-       snprintf(outstr, sizeof(outstr), fmt, what, rval);
+       xsprintf(outstr, fmt, what, rval);
        tcp->auxstr = outstr;
        return RVAL_STR;
 }
@@ -60,4 +63,24 @@ SYS_FUNC(getxgid)
        return decode_getxxid(tcp, "egid");
 }
 
+SYS_FUNC(osf_statfs)
+{
+       printpath(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       printaddr(tcp->u_arg[1]);
+       tprints(", ");
+       tprintf("%lu", tcp->u_arg[2]);
+       return RVAL_DECODED;
+}
+
+SYS_FUNC(osf_fstatfs)
+{
+       printfd(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       printaddr(tcp->u_arg[1]);
+       tprints(", ");
+       tprintf("%lu", tcp->u_arg[2]);
+       return RVAL_DECODED;
+}
+
 #endif /* ALPHA */