Permission: use StringView::Split()
This commit is contained in:
@@ -30,7 +30,6 @@
|
|||||||
#include "util/StringView.hxx"
|
#include "util/StringView.hxx"
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstring>
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
@@ -100,18 +99,15 @@ initPermissions(const ConfigData &config)
|
|||||||
for (const auto ¶m : config.GetParamList(ConfigOption::PASSWORD)) {
|
for (const auto ¶m : config.GetParamList(ConfigOption::PASSWORD)) {
|
||||||
permission_default = 0;
|
permission_default = 0;
|
||||||
|
|
||||||
param.With([](const char *value){
|
param.With([](const StringView value){
|
||||||
const char *separator = std::strchr(value,
|
const auto [password, permissions] =
|
||||||
PERMISSION_PASSWORD_CHAR);
|
value.Split(PERMISSION_PASSWORD_CHAR);
|
||||||
|
if (permissions == nullptr)
|
||||||
if (separator == nullptr)
|
|
||||||
throw FormatRuntimeError("\"%c\" not found in password string",
|
throw FormatRuntimeError("\"%c\" not found in password string",
|
||||||
PERMISSION_PASSWORD_CHAR);
|
PERMISSION_PASSWORD_CHAR);
|
||||||
|
|
||||||
std::string password(value, separator);
|
permission_passwords.emplace(password,
|
||||||
|
parsePermissions(permissions));
|
||||||
unsigned permission = parsePermissions(separator + 1);
|
|
||||||
permission_passwords.emplace(std::move(password), permission);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user