0004-Don-t-omit-second-operand-to-operator.patch (5088B)
1 From 2a87525db61778ad915273dea37a17ae88e7a1f1 Mon Sep 17 00:00:00 2001 2 From: Michael Forney <mforney@mforney.org> 3 Date: Sun, 7 Jul 2019 21:53:16 -0700 4 Subject: [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 15 diff --git a/src/defs.h b/src/defs.h 16 index 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" 28 diff --git a/src/open.c b/src/open.c 29 index 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 * 44 diff --git a/src/prctl.c b/src/prctl.c 45 index 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; 74 diff --git a/src/strace.c b/src/strace.c 75 index 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); 113 diff --git a/src/strauss.c b/src/strauss.c 114 index 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 } 137 diff --git a/src/util.c b/src/util.c 138 index 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 -- 160 2.49.0 161