From ee4b85a5edf36b320e521707810cc69f1efad5d2 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 16 Jun 2019 12:39:40 -0700 Subject: [PATCH] Don't omit second operand to '?' operator --- ip/iproute_lwtunnel.c | 4 ++-- ip/iptunnel.c | 7 ++++++- lib/bpf_legacy.c | 2 +- lib/utils.c | 7 +++++-- misc/ss.c | 26 ++++++++++++++++++-------- 5 files changed, 32 insertions(+), 14 deletions(-) diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c index 94985972..7f3982aa 100644 --- a/ip/iproute_lwtunnel.c +++ b/ip/iproute_lwtunnel.c @@ -394,7 +394,7 @@ static const char *format_action_type(int action) if (action < 0 || action > SEG6_LOCAL_ACTION_MAX) return ""; - return seg6_action_names[action] ?: ""; + return seg6_action_names[action] ? seg6_action_names[action] : ""; } static int read_action_type(const char *name) @@ -425,7 +425,7 @@ static void print_encap_bpf_prog(FILE *fp, struct rtattr *encap, if (is_json_context()) print_string(PRINT_JSON, str, NULL, - progname ? : ""); + progname ? progname : ""); else { fprintf(fp, "%s ", str); if (progname) diff --git a/ip/iptunnel.c b/ip/iptunnel.c index 46c5f894..f84e25ed 100644 --- a/ip/iptunnel.c +++ b/ip/iptunnel.c @@ -284,11 +284,16 @@ static int do_add(int cmd, int argc, char **argv) static int do_del(int argc, char **argv) { struct ip_tunnel_parm p; + const char *name; if (parse_args(argc, argv, SIOCDELTUNNEL, &p) < 0) return -1; - return tnl_del_ioctl(tnl_defname(&p) ? : p.name, p.name, &p); + name = tnl_defname(&p); + if (!name) + name = p.name; + + return tnl_del_ioctl(name, p.name, &p); } static void print_tunnel(const void *t) diff --git a/lib/bpf_legacy.c b/lib/bpf_legacy.c index 253e8240..a0afe0bc 100644 --- a/lib/bpf_legacy.c +++ b/lib/bpf_legacy.c @@ -771,7 +771,7 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type) mnt = bpf_find_mntpt("bpf", BPF_FS_MAGIC, bpf_tmp, sizeof(bpf_tmp), bpf_known_mnts); if (!mnt) { - mnt = mnt_env ? : BPF_DIR_MNT; + mnt = mnt_env ? mnt_env : BPF_DIR_MNT; ret = bpf_mnt_check_target(mnt); if (!ret) ret = bpf_mnt_fs(mnt); diff --git a/lib/utils.c b/lib/utils.c index 040b935c..cfe0e2e9 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -953,8 +953,10 @@ int __get_hz(void) int hz = 0; FILE *fp; - if (getenv("HZ")) - return atoi(getenv("HZ")) ? : HZ; + if (getenv("HZ")) { + hz = atoi(getenv("HZ")); + goto out; + } if (getenv("PROC_NET_PSCHED")) snprintf(name, sizeof(name)-1, @@ -975,6 +977,7 @@ int __get_hz(void) hz = denom; fclose(fp); } +out: if (hz) return hz; return HZ; diff --git a/misc/ss.c b/misc/ss.c index e5d97d95..3ed6ac18 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -464,7 +464,9 @@ static FILE *generic_proc_open(const char *env, const char *name) char store[128]; if (!p) { - p = getenv("PROC_ROOT") ? : "/proc"; + p = getenv("PROC_ROOT"); + if (!p) + p = "/proc"; snprintf(store, sizeof(store)-1, "%s/%s", p, name); p = store; } @@ -634,12 +636,16 @@ static void user_ent_destroy(void) static void user_ent_hash_build(void) { - const char *root = getenv("PROC_ROOT") ? : "/proc/"; + const char *root; char name[MAX_PATH_LEN]; struct dirent *d; int nameoff; DIR *dir; + root = getenv("PROC_ROOT"); + if (!root) + root = "/proc/"; + strlcpy(name, root, sizeof(name)); if (strlen(name) == 0 || name[strlen(name) - 1] != '/') @@ -2301,7 +2307,10 @@ void *parse_hostcond(char *addr, bool is_port) } else if (addr[0] == '*') { port = addr+1; } else { - port = strrchr(strchr(addr, '/') ? : addr, ':'); + port = strchr(addr, '/'); + if (!port) + port = addr; + port = strrchr(port, ':'); } if (is_port) @@ -4089,9 +4098,9 @@ static void unix_stats_print(struct sockstat *s, struct filter *f) sock_state_print(s); - sock_addr_print(s->name ?: "*", " ", + sock_addr_print(s->name ? s->name : "*", " ", uint_to_str(s->lport, port_name), NULL); - sock_addr_print(s->peer_name ?: "*", " ", + sock_addr_print(s->peer_name ? s->peer_name : "*", " ", uint_to_str(s->rport, port_name), NULL); proc_ctx_print(s); @@ -4294,7 +4303,7 @@ static int unix_show(struct filter *f) if (!p) u->peer_name = "?"; else - u->peer_name = p->name ? : "*"; + u->peer_name = p->name ? p->name : "*"; } if (f->f) { @@ -4798,9 +4807,10 @@ static int netlink_show_one(struct filter *f, strncpy(procname, "kernel", 7); } else if (pid > 0) { FILE *fp; + const char *root = getenv("PROC_ROOT"); snprintf(procname, sizeof(procname), "%s/%d/stat", - getenv("PROC_ROOT") ? : "/proc", pid); + root ? root : "/proc", pid); if ((fp = fopen(procname, "r")) != NULL) { if (fscanf(fp, "%*d (%[^)])", procname) == 1) { snprintf(procname+strlen(procname), @@ -4843,7 +4853,7 @@ static int netlink_show_one(struct filter *f, else if (pid > 0) getpidcon(pid, &pid_context); - out(" proc_ctx=%s", pid_context ? : "unavailable"); + out(" proc_ctx=%s", pid_context ? pid_context : "unavailable"); freecon(pid_context); } -- 2.44.0