1From 2a87525db61778ad915273dea37a17ae88e7a1f1 Mon Sep 17 00:00:00 2001
2From: Michael Forney <mforney@mforney.org>
3Date: Sun, 7 Jul 2019 21:53:16 -0700
4Subject: [PATCH] Don't omit second operand to '?' operator
5
6---
7 src/defs.h | 2 +-
8 src/open.c | 5 +++--
9 src/prctl.c | 8 ++++----
10 src/strace.c | 10 +++++-----
11 src/strauss.c | 4 +++-
12 src/util.c | 4 ++--
13 6 files changed, 18 insertions(+), 15 deletions(-)
14
15diff --git a/src/defs.h b/src/defs.h
16index 47e1c71f6..cd63f9d35 100644
17--- a/src/defs.h
18+++ b/src/defs.h
19@@ -404,7 +404,7 @@ struct tcb {
20 # define has_seccomp_filter(tcp) ((tcp)->flags & TCB_SECCOMP_FILTER)
21
22 extern const struct_sysent stub_sysent;
23-# define tcp_sysent(tcp) (tcp->s_ent ?: &stub_sysent)
24+# define tcp_sysent(tcp) (tcp->s_ent ? tcp->s_ent : &stub_sysent)
25 # define n_args(tcp) MIN(tcp_sysent(tcp)->nargs, MAX_ARGS)
26
27 # include "xlat.h"
28diff --git a/src/open.c b/src/open.c
29index 00bb697d0..77e6b2d9a 100644
30--- a/src/open.c
31+++ b/src/open.c
32@@ -88,8 +88,9 @@ sprint_open_modes64(uint64_t flags)
33 }
34 *p = '\0';
35
36- return sprintflags_ex(outstr, open_mode_flags, flags, sep,
37- XLAT_STYLE_ABBREV) ?: outstr;
38+ str = sprintflags_ex(outstr, open_mode_flags, flags, sep,
39+ XLAT_STYLE_ABBREV);
40+ return str ? str : outstr;
41 }
42
43 const char *
44diff --git a/src/prctl.c b/src/prctl.c
45index e4d6de888..89101e5cd 100644
46--- a/src/prctl.c
47+++ b/src/prctl.c
48@@ -99,10 +99,10 @@ sprint_sve_val(kernel_ulong_t arg, bool aux)
49 if (!aux && flags && xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE)
50 {
51 xsprintf(out, "%#" PRI_klx " /* %s%s%#" PRI_klx " */",
52- arg, flags_str ?: "", flags_str ? "|" : "", vl);
53+ arg, flags_str ? flags_str : "", flags_str ? "|" : "", vl);
54 } else {
55 xsprintf(out, "%s%s%#" PRI_klx,
56- flags_str ?: "", flags_str ? "|" : "", vl);
57+ flags_str ? flags_str : "", flags_str ? "|" : "", vl);
58 }
59
60 return out;
61@@ -135,10 +135,10 @@ sprint_sme_val(kernel_ulong_t arg, bool aux)
62 if (!aux && flags && xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE)
63 {
64 xsprintf(out, "%#" PRI_klx " /* %s%s%#" PRI_klx " */",
65- arg, flags_str ?: "", flags_str ? "|" : "", vl);
66+ arg, flags_str ? flags_str : "", flags_str ? "|" : "", vl);
67 } else {
68 xsprintf(out, "%s%s%#" PRI_klx,
69- flags_str ?: "", flags_str ? "|" : "", vl);
70+ flags_str ? flags_str : "", flags_str ? "|" : "", vl);
71 }
72
73 return out;
74diff --git a/src/strace.c b/src/strace.c
75index ee80de0bc..74a09dc7a 100644
76--- a/src/strace.c
77+++ b/src/strace.c
78@@ -2636,7 +2636,7 @@ init(int argc, char *argv[])
79 break;
80 case GETOPT_TS:
81 tflag_long_set = true;
82- if (parse_ts_arg(optarg ?: tflag_str))
83+ if (parse_ts_arg(optarg ? optarg : tflag_str))
84 error_opt_arg(c, lopt, optarg);
85 break;
86 case 'T':
87@@ -2710,7 +2710,7 @@ init(int argc, char *argv[])
88 error_opt_arg(c, lopt, optarg);
89 break;
90 case GETOPT_TIPS:
91- if (parse_tips_arg(optarg ?: ""))
92+ if (parse_tips_arg(optarg ? optarg : ""))
93 error_opt_arg(c, lopt, optarg);
94 break;
95 case GETOPT_ARGV0:
96@@ -2759,13 +2759,13 @@ init(int argc, char *argv[])
97 qualify_kvm(optarg);
98 break;
99 case GETOPT_QUAL_NAMESPACE:
100- qualify_namespace(optarg ?: namespace_qual);
101+ qualify_namespace(optarg ? optarg : namespace_qual);
102 break;
103 case GETOPT_QUAL_QUIET:
104- qualify_quiet(optarg ?: qflag_qual);
105+ qualify_quiet(optarg ? optarg : qflag_qual);
106 break;
107 case GETOPT_QUAL_DECODE_FD:
108- qualify_decode_fd(optarg ?: yflag_qual);
109+ qualify_decode_fd(optarg ? optarg : yflag_qual);
110 break;
111 case GETOPT_QUAL_DECODE_PID:
112 qualify_decode_pid(optarg);
113diff --git a/src/strauss.c b/src/strauss.c
114index bec85021b..5d49f950a 100644
115--- a/src/strauss.c
116+++ b/src/strauss.c
117@@ -367,6 +367,7 @@ print_totd(void)
118 struct timeval tv;
119 size_t id;
120 size_t i;
121+ const char *tip;
122
123 if (printed || show_tips == TIPS_NONE)
124 return;
125@@ -386,9 +387,10 @@ print_totd(void)
126 for (i = 0; (i < MAX_TIP_LINES) && (tips_tricks_tweaks[id][i] ||
127 (i < (ARRAY_SIZE(tip_right) - 1)));
128 i++) {
129+ tip = tips_tricks_tweaks[id][i];
130 fprintf(stderr, "%s%-*s%s%s\n",
131 tip_left[MIN(i + 1, ARRAY_SIZE(tip_left) - 1)],
132- w, tips_tricks_tweaks[id][i] ?: "",
133+ w, tip ? tip : "",
134 tip_right[MIN(i + 1, ARRAY_SIZE(tip_right) - 1)],
135 strauss[MIN(3 + i, strauss_lines - 1)]);
136 }
137diff --git a/src/util.c b/src/util.c
138index 0d6d7da45..e6d6ee667 100644
139--- a/src/util.c
140+++ b/src/util.c
141@@ -640,7 +640,7 @@ printsocket(struct tcb *tcp, int fd, const char *path)
142 return false;
143
144 const char *details = get_sockaddr_by_inode(tcp, fd, inode);
145- print_string_in_angle_brackets(details ?: path);
146+ print_string_in_angle_brackets(details ? details : path);
147
148 return true;
149 }
150@@ -1394,7 +1394,7 @@ printpathn(struct tcb *const tcp, const kernel_ulong_t addr, unsigned int n)
151 if (nul_seen < 0)
152 printaddr(addr);
153 else {
154- print_quoted_cstring(path, (unsigned int) nul_seen ?: n);
155+ print_quoted_cstring(path, nul_seen ? (unsigned int) nul_seen : n);
156
157 if (nul_seen)
158 selinux_printfilecon(tcp, path);
159--
1602.49.0
161