Re-implement macro to constexpr transition

Be more careful with sign extension issues stemming from the differences in how
an untyped literal is promoted to an integer vs how a typed (and signed) `char`
is promoted to an integer.
This commit is contained in:
Mahmoud Al-Qudsi
2022-09-19 17:42:25 -05:00
parent 7c3e4a7ccb
commit 3d8f98c395
37 changed files with 115 additions and 116 deletions

View File

@@ -32,7 +32,7 @@
#include "wutil.h" // IWYU pragma: keep
/// A name for our own key mapping for nul.
static const wchar_t *k_nul_mapping_name = L"nul";
constexpr const wchar_t k_nul_mapping_name[] = L"nul";
/// Struct representing a keybinding. Returned by input_get_mappings.
struct input_mapping_t {
@@ -72,7 +72,7 @@ struct terminfo_mapping_t {
terminfo_mapping_t(const wchar_t *name, std::string s) : name(name), seq(std::move(s)) {}
};
static constexpr size_t input_function_count = R_END_INPUT_FUNCTIONS;
constexpr size_t input_function_count = R_END_INPUT_FUNCTIONS;
/// Input function metadata. This list should be kept in sync with the key code list in
/// input_common.h.