From: Roland McGrath Date: Wed, 3 Aug 2005 12:18:09 +0000 (+0000) Subject: 2005-08-03 Roland McGrath X-Git-Tag: v4.5.18~331 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be4d9f8b98e3b6910a3a8a580bbd421f086c7ffd;p=strace 2005-08-03 Roland McGrath * configure.ac: Check for struct dqblk.dqb_curblocks field. * resource.c [LINUX] (OLD_CMD): New macro. (quotacmds): Use it to hard-wire old O_* values, don't use macros. (sys_quotactl): If dqb_curblocks is not there, it's called dqb_curspace instead. Print dqb_* fields as unsigned long long. --- diff --git a/configure.ac b/configure.ac index 572adfd1..405a6cf4 100644 --- a/configure.ac +++ b/configure.ac @@ -216,6 +216,8 @@ AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,, AC_CHECK_TYPES([struct user_desc],,, [#include ]) +AC_CHECK_MEMBERS([struct dqblk.dqb_curblocks],,, [#include ]) + AC_CHECK_DECLS([sys_errlist]) AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include ]) diff --git a/resource.c b/resource.c index e346eaec..1fc61550 100644 --- a/resource.c +++ b/resource.c @@ -529,21 +529,29 @@ struct tcb *tcp; if (!tcp->u_arg[3]) tprintf("NULL"); - else if (!verbose(tcp) || !OLD_COMMAND(cmd)) + else if (!verbose(tcp) || +#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS + ! +#endif + OLD_COMMAND(cmd)) tprintf("%#lx", tcp->u_arg[3]); else if (umoven(tcp, tcp->u_arg[3], sizeof(struct dqblk), (char *) &dq) < 0) tprintf("???"); else { tprintf("{"); - tprintf("%u, ", dq.dqb_bhardlimit); - tprintf("%u, ", dq.dqb_bsoftlimit); - tprintf("%u, ", dq.dqb_curblocks); - tprintf("%u, ", dq.dqb_ihardlimit); - tprintf("%u, ", dq.dqb_isoftlimit); - tprintf("%u, ", dq.dqb_curinodes); - tprintf("%lu, ", dq.dqb_btime); - tprintf("%lu", dq.dqb_itime); + tprintf("%llu, ", (unsigned long long) dq.dqb_bhardlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_bsoftlimit); +#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS + tprintf("%llu, ", (unsigned long long) dq.dqb_curblocks); +#else + tprintf("%llu, ", (unsigned long long) dq.dqb_curspace); +#endif + tprintf("%llu, ", (unsigned long long) dq.dqb_ihardlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_isoftlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_curinodes); + tprintf("%llu, ", (unsigned long long) dq.dqb_btime); + tprintf("%llu", (unsigned long long) dq.dqb_itime); tprintf("}"); }