* print_fields.h (PRINT_FIELD_CSTRING): New macro.
* block.c (print_blkpg_req, block_ioctl): Use PRINT_FIELD_CSTRING
instead of print_quoted_string.
* btrfs.c (btrfs_ioctl): Likewise.
* dm.c (dm_decode_device, dm_decode_dm_target_spec): Likewise.
* loop.c (decode_loop_info, decode_loop_info64): Likewise.
* v4l2.c (print_v4l2_capability, print_v4l2_fmtdesc,
print_v4l2_standard, print_v4l2_input, print_v4l2_tuner,
print_v4l2_queryctrl): Likewise.
* netlink_sock_diag.c (decode_smc_diag_lgrinfo): Use PRINT_FIELD_CSTRING
instead of PRINT_FIELD_STRING.
* uname.c (PRINT_UTS_MEMBER): Remove.
(SYS_FUNC(uname)): Use PRINT_FIELD_CSTRING instead of PRINT_UTS_MEMBER.
#include MPERS_DEFS
+#include "print_fields.h"
+
#ifndef BLKPG
# define BLKPG _IO(0x12, 105)
#endif
if (!umove_or_printaddr(tcp, ptr_to_kulong(blkpg->data), &p)) {
tprintf("{start=%" PRId64 ", length=%" PRId64
- ", pno=%d, devname=",
+ ", pno=%d",
p.start, p.length, p.pno);
- print_quoted_string(p.devname, sizeof(p.devname),
- QUOTE_0_TERMINATED);
- tprints(", volname=");
- print_quoted_string(p.volname, sizeof(p.volname),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", p, devname);
+ PRINT_FIELD_CSTRING(", ", p, volname);
tprints("}");
}
tprints("}");
} else {
struct_blk_user_trace_setup buts;
- if (!syserror(tcp) && !umove(tcp, arg, &buts)) {
- tprints(", name=");
- print_quoted_string(buts.name, sizeof(buts.name),
- QUOTE_0_TERMINATED);
- }
+ if (!syserror(tcp) && !umove(tcp, arg, &buts))
+ PRINT_FIELD_CSTRING(", ", buts, name);
tprints("}");
break;
}
#ifdef HAVE_LINUX_BTRFS_H
+#include "print_fields.h"
#include <linux/fs.h>
/*
if (valid)
tprintf("uuid=%s, ", uuid);
tprintf("bytes_used=%" PRI__u64
- ", total_bytes=%" PRI__u64 ", path=",
+ ", total_bytes=%" PRI__u64,
args.bytes_used, args.total_bytes);
- print_quoted_string((const char *)args.path, sizeof(args.path),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", args, path);
tprints("}");
break;
}
tprints(", ");
}
- tprints("name=");
- print_quoted_string(args.name, sizeof(args.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING("", args, name);
tprints("}");
break;
}
tprints("{fd=");
printfd(tcp, args.fd);
- tprints(", name=");
- print_quoted_string(args.name, sizeof(args.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", args, name);
tprints("}");
break;
}
btrfs_print_qgroup_inherit(tcp,
ptr_to_kulong(args.qgroup_inherit));
}
- tprints(", name=");
- print_quoted_string(args.name, sizeof(args.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", args, name);
tprints("}");
return 0;
}
*/
#include "defs.h"
-#include "print_fields.h"
#ifdef HAVE_LINUX_DM_IOCTL_H
+# include "print_fields.h"
# include <linux/dm-ioctl.h>
# include <linux/ioctl.h>
case DM_LIST_VERSIONS:
break;
default:
- if (ioc->dev) {
+ if (ioc->dev)
PRINT_FIELD_DEV(", ", *ioc, dev);
- }
- if (ioc->name[0]) {
- tprints(", name=");
- print_quoted_string(ioc->name, DM_NAME_LEN,
- QUOTE_0_TERMINATED);
- }
- if (ioc->uuid[0]) {
- tprints(", uuid=");
- print_quoted_string(ioc->uuid, DM_UUID_LEN,
- QUOTE_0_TERMINATED);
- }
+
+ if (ioc->name[0])
+ PRINT_FIELD_CSTRING(", ", *ioc, name);
+
+ if (ioc->uuid[0])
+ PRINT_FIELD_CSTRING(", ", *ioc, uuid);
+
break;
}
}
if (exiting(tcp))
tprintf(", status=%" PRId32, s.status);
- tprints(", target_type=");
- print_quoted_string(s.target_type, DM_MAX_TYPE_NAME,
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", s, target_type);
tprints(", string=");
printstr_ex(tcp, addr + offset_end, ioc->data_size - offset_end,
tprints(", lo_flags=");
printflags(loop_flags_options, info.lo_flags, "LO_FLAGS_???");
- tprints(", lo_name=");
- print_quoted_string(info.lo_name, LO_NAME_SIZE,
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", info, lo_name);
if (!abbrev(tcp) || info.lo_encrypt_type != LO_CRYPT_NONE) {
- tprints(", lo_encrypt_key=");
- print_quoted_string((void *) info.lo_encrypt_key,
- MIN((uint32_t) info.lo_encrypt_key_size,
- LO_KEY_SIZE), 0);
+ const unsigned int lo_encrypt_key_size =
+ MIN((unsigned) info.lo_encrypt_key_size, LO_KEY_SIZE);
+ PRINT_FIELD_STRING(", ", info, lo_encrypt_key,
+ lo_encrypt_key_size, 0);
}
if (!abbrev(tcp))
tprints(", lo_flags=");
printflags(loop_flags_options, info64.lo_flags, "LO_FLAGS_???");
- tprints(", lo_file_name=");
- print_quoted_string((void *) info64.lo_file_name,
- LO_NAME_SIZE, QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", info64, lo_file_name);
if (!abbrev(tcp) || info64.lo_encrypt_type != LO_CRYPT_NONE) {
- tprints(", lo_crypt_name=");
- print_quoted_string((void *) info64.lo_crypt_name,
- LO_NAME_SIZE, QUOTE_0_TERMINATED);
- tprints(", lo_encrypt_key=");
- print_quoted_string((void *) info64.lo_encrypt_key,
- MIN(info64.lo_encrypt_key_size,
- LO_KEY_SIZE), 0);
+ PRINT_FIELD_CSTRING(", ", info64, lo_crypt_name);
+ const unsigned int lo_encrypt_key_size =
+ MIN((unsigned) info64.lo_encrypt_key_size, LO_KEY_SIZE);
+ PRINT_FIELD_STRING(", ", info64, lo_encrypt_key,
+ lo_encrypt_key_size, 0);
}
if (!abbrev(tcp))
tprints("{lnk[0]={");
PRINT_FIELD_U("", linfo.lnk[0], link_id);
- PRINT_FIELD_STRING(", ", linfo.lnk[0], ibname,
- sizeof(linfo.lnk[0].ibname),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", linfo.lnk[0], ibname);
PRINT_FIELD_U(", ", linfo.lnk[0], ibport);
- PRINT_FIELD_STRING(", ", linfo.lnk[0], gid,
- sizeof(linfo.lnk[0].gid),
- QUOTE_0_TERMINATED);
- PRINT_FIELD_STRING(", ", linfo.lnk[0], peer_gid,
- sizeof(linfo.lnk[0].peer_gid),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", linfo.lnk[0], gid);
+ PRINT_FIELD_CSTRING(", ", linfo.lnk[0], peer_gid);
PRINT_FIELD_XVAL("}, ", linfo, role, smc_link_group_roles, "SMC_???");
tprints("}");
zero_extend_signed_to_ull((where_).field_)); \
} while (0)
-#define PRINT_FIELD_STRING(prefix_, where_, field_, len_, style_) \
- do { \
- STRACE_PRINTF("%s%s=", (prefix_), #field_); \
- print_quoted_string((const char *)(where_).field_, len_, style_); \
+#define PRINT_FIELD_STRING(prefix_, where_, field_, len_, style_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_quoted_string((const char *)(where_).field_, \
+ (len_), (style_)); \
+ } while (0)
+
+#define PRINT_FIELD_CSTRING(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_quoted_string((const char *)(where_).field_, \
+ sizeof((where_).field_), \
+ QUOTE_0_TERMINATED); \
} while (0)
#define PRINT_FIELD_INET_ADDR(prefix_, where_, field_, af_) \
*/
#include "defs.h"
-
+#include "print_fields.h"
#include <sys/utsname.h>
SYS_FUNC(uname)
return 0;
if (!umove_or_printaddr(tcp, tcp->u_arg[0], &uname)) {
-#define PRINT_UTS_MEMBER(prefix, member) \
- do { \
- tprints(prefix #member "="); \
- print_quoted_string(uname.member, sizeof(uname.member), \
- QUOTE_0_TERMINATED); \
- } while (0)
-
- PRINT_UTS_MEMBER("{", sysname);
- PRINT_UTS_MEMBER(", ", nodename);
+ PRINT_FIELD_CSTRING("{", uname, sysname);
+ PRINT_FIELD_CSTRING(", ", uname, nodename);
if (abbrev(tcp)) {
tprints(", ...}");
return 0;
}
- PRINT_UTS_MEMBER(", ", release);
- PRINT_UTS_MEMBER(", ", version);
- PRINT_UTS_MEMBER(", ", machine);
+ PRINT_FIELD_CSTRING(", ", uname, release);
+ PRINT_FIELD_CSTRING(", ", uname, version);
+ PRINT_FIELD_CSTRING(", ", uname, machine);
#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
- PRINT_UTS_MEMBER(", ", domainname);
+ PRINT_FIELD_CSTRING(", ", uname, domainname);
#endif
tprints("}");
}
#include MPERS_DEFS
+#include "print_fields.h"
+
/* some historical constants */
#ifndef V4L2_CID_HCENTER
#define V4L2_CID_HCENTER (V4L2_CID_BASE+22)
tprints(", ");
if (umove_or_printaddr(tcp, arg, &caps))
return 1;
- tprints("{driver=");
- print_quoted_string((const char *) caps.driver,
- sizeof(caps.driver), QUOTE_0_TERMINATED);
- tprints(", card=");
- print_quoted_string((const char *) caps.card,
- sizeof(caps.card), QUOTE_0_TERMINATED);
- tprints(", bus_info=");
- print_quoted_string((const char *) caps.bus_info,
- sizeof(caps.bus_info), QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING("{", caps, driver);
+ PRINT_FIELD_CSTRING(", ", caps, card);
+ PRINT_FIELD_CSTRING(", ", caps, bus_info);
tprintf(", version=%u.%u.%u, capabilities=",
(caps.version >> 16) & 0xFF,
(caps.version >> 8) & 0xFF,
tprints(", flags=");
printflags(v4l2_format_description_flags, f.flags,
"V4L2_FMT_FLAG_???");
- tprints(", description=");
- print_quoted_string((const char *) f.description,
- sizeof(f.description),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", f, description);
tprints(", pixelformat=");
print_pixelformat(f.pixelformat);
}
tprintf("{index=%u", s.index);
} else {
if (!syserror(tcp) && !umove(tcp, arg, &s)) {
- tprints(", name=");
- print_quoted_string((const char *) s.name,
- sizeof(s.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", s, name);
tprintf(", frameperiod=" FMT_FRACT,
ARGS_FRACT(s.frameperiod));
tprintf(", framelines=%d", s.framelines);
tprintf("{index=%u", i.index);
} else {
if (!syserror(tcp) && !umove(tcp, arg, &i)) {
- tprints(", name=");
- print_quoted_string((const char *) i.name,
- sizeof(i.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", i, name);
tprints(", type=");
printxval(v4l2_input_types, i.type,
"V4L2_INPUT_TYPE_???");
tprints(is_get ? ", " : " => ");
}
- tprints("name=");
- print_quoted_string((const char *) c.name, sizeof(c.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING("", c, name);
tprints(", type=");
printxval(v4l2_tuner_types, c.type, "V4L2_TUNER_TYPE_???");
tprints(", capability=");
if (exiting(tcp)) {
tprints(", type=");
printxval(v4l2_control_types, c.type, "V4L2_CTRL_TYPE_???");
- tprints(", name=");
- print_quoted_string((const char *) c.name,
- sizeof(c.name),
- QUOTE_0_TERMINATED);
+ PRINT_FIELD_CSTRING(", ", c, name);
tprintf(", minimum=%d, maximum=%d, step=%d"
", default_value=%d, flags=",
c.minimum, c.maximum, c.step, c.default_value);