diff --git a/src/builtins/argparse.cpp b/src/builtins/argparse.cpp index 996d1466a..276c4e0bf 100644 --- a/src/builtins/argparse.cpp +++ b/src/builtins/argparse.cpp @@ -692,12 +692,10 @@ static void set_argparse_result_vars(env_stack_t &vars, const argparse_cmd_opts_ vars.set(var_name_prefix + opt_spec->short_flag, ENV_LOCAL, opt_spec->vals); } if (!opt_spec->long_flag.empty()) { - // We do a simple replacement of all non alphanum chars rather than calling + // We do a simple replacement of punctuation chars rather than calling // escape_string(long_flag, 0, STRING_STYLE_VAR). wcstring long_flag = opt_spec->long_flag; - for (auto &pos : long_flag) { - if (!iswalnum(pos)) pos = L'_'; - } + std::replace_if(long_flag.begin(), long_flag.end(), std::iswpunct, L'_'); vars.set(var_name_prefix + long_flag, ENV_LOCAL, opt_spec->vals); } } diff --git a/src/builtins/set.cpp b/src/builtins/set.cpp index 0f72673d3..ad6384f58 100644 --- a/src/builtins/set.cpp +++ b/src/builtins/set.cpp @@ -484,15 +484,12 @@ static int builtin_set_query(const wchar_t *cmd, set_cmd_opts_t &opts, int argc, return STATUS_CMD_ERROR; } - if (split->indexes.empty()) { - // No indexes, just increment if our variable is missing. - if (!split->var) retval++; - } else { + if (split->indexes.empty() && !split->var) retval++; // No indicies, increment if missing + else { // Increment for every index out of range. long varsize = split->varsize(); - for (long idx : split->indexes) { - if (idx < 1 || idx > varsize) retval++; - } + retval += std::count_if(split->indexes.begin(), split->indexes.end(), + [varsize](long i) { return (i < 1 || i > varsize); }); } } diff --git a/src/topic_monitor.h b/src/topic_monitor.h index cacb8564f..4baa2e977 100644 --- a/src/topic_monitor.h +++ b/src/topic_monitor.h @@ -102,11 +102,10 @@ class generation_list_t { /// \return whether any topic is valid. bool any_valid() const { - bool valid = false; - for (auto gen : as_array()) { - if (gen != invalid_generation) valid = true; - } - return valid; + auto arr = as_array(); + return std::any_of(arr.cbegin(), arr.cend(), [](generation_t gen) { + return gen != invalid_generation; + }); } bool operator==(const generation_list_t &rhs) const {