mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-06 00:41:15 -03:00
Revert "Remove unnecessary "string_set_contains" function"
I have no idea why this worked or passed the tests?
This reverts commit 1836e704c4.
Fixes #5349.
This commit is contained in:
10
src/env.cpp
10
src/env.cpp
@@ -286,11 +286,19 @@ static env_universal_t *uvars() { return s_universal_variables; }
|
||||
// so we don't bother to sort them.
|
||||
using string_set_t = const wchar_t *const[];
|
||||
|
||||
template <typename T>
|
||||
bool string_set_contains(const T &set, const wchar_t *val) {
|
||||
for (const wchar_t *entry : set) {
|
||||
if (!wcscmp(val, entry)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Check if a variable may not be set using the set command.
|
||||
static bool is_read_only(const wchar_t *val) {
|
||||
const string_set_t env_read_only = {L"PWD", L"SHLVL", L"history", L"status", L"version",
|
||||
L"fish_pid", L"hostname", L"_", L"fish_private_mode"};
|
||||
return contains(env_read_only, val) ||
|
||||
return string_set_contains(env_read_only, val) ||
|
||||
(in_private_mode() && wcscmp(L"fish_history", val) == 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user