More const and atomic correctness

This commit is contained in:
ridiculousfish 2018-10-01 09:59:22 -07:00
parent 070a43989f
commit 1bc4cf2318
3 changed files with 5 additions and 4 deletions

View file

@ -423,7 +423,7 @@ static const struct woption long_options[] = {
{L"right", no_argument, NULL, 'r'}, {L"start", required_argument, NULL, 's'},
{L"style", required_argument, NULL, 1}, {NULL, 0, NULL, 0}};
static std::unordered_map<char, decltype(*handle_flag_N)> flag_to_function = {
static const std::unordered_map<char, decltype(*handle_flag_N)> flag_to_function = {
{'N', handle_flag_N}, {'a', handle_flag_a}, {'c', handle_flag_c}, {'e', handle_flag_e},
{'f', handle_flag_f}, {'i', handle_flag_i}, {'l', handle_flag_l}, {'m', handle_flag_m},
{'n', handle_flag_n}, {'q', handle_flag_q}, {'r', handle_flag_r}, {'s', handle_flag_s},

View file

@ -12,6 +12,7 @@
#include <wctype.h>
#include <algorithm>
#include <atomic>
#include <cstddef>
#include <functional>
#include <iterator>
@ -133,7 +134,7 @@ typedef struct complete_entry_opt {
using arg_list_t = std::vector<tnode_t<grammar::argument>>;
/// Last value used in the order field of completion_entry_t.
static unsigned int kCompleteOrder = 0;
static std::atomic<unsigned int> k_complete_order{0};
/// Struct describing a command completion.
typedef std::list<complete_entry_opt_t> option_list_t;
@ -159,7 +160,7 @@ class completion_entry_t {
bool remove_option(const wcstring &option, complete_option_type_t type);
completion_entry_t(wcstring c, bool type)
: cmd(std::move(c)), cmd_is_path(type), order(++kCompleteOrder) {}
: cmd(std::move(c)), cmd_is_path(type), order(++k_complete_order) {}
};
/// Set of all completion entries.

View file

@ -198,7 +198,7 @@ static bool append_file_entry(fish_message_type_t type, const wcstring &key_in,
}
/// Encoding of a null string.
static const wchar_t *ENV_NULL = L"\x1d";
static const wchar_t * const ENV_NULL = L"\x1d";
/// Decode a serialized universal variable value into a list.
static wcstring_list_t decode_serialized(const wcstring &val) {