logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

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