about summary refs log tree commit diff
path: root/third_party/nix/src/libutil/config.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libutil/config.cc')
-rw-r--r--third_party/nix/src/libutil/config.cc58
1 files changed, 37 insertions, 21 deletions
diff --git a/third_party/nix/src/libutil/config.cc b/third_party/nix/src/libutil/config.cc
index 0b01f6ae8a83..9c8c6cf4b255 100644
--- a/third_party/nix/src/libutil/config.cc
+++ b/third_party/nix/src/libutil/config.cc
@@ -21,8 +21,9 @@ bool Config::set(const std::string& name, const std::string& value) {
 
 void Config::addSetting(AbstractSetting* setting) {
   _settings.emplace(setting->name, Config::SettingData(false, setting));
-  for (auto& alias : setting->aliases)
+  for (auto& alias : setting->aliases) {
     _settings.emplace(alias, Config::SettingData(true, setting));
+  }
 
   bool set = false;
 
@@ -68,11 +69,13 @@ void AbstractConfig::reapplyUnknownSettings() {
 
 void Config::getSettings(std::map<std::string, SettingInfo>& res,
                          bool overridenOnly) {
-  for (auto& opt : _settings)
+  for (auto& opt : _settings) {
     if (!opt.second.isAlias &&
-        (!overridenOnly || opt.second.setting->overriden))
+        (!overridenOnly || opt.second.setting->overriden)) {
       res.emplace(opt.first, SettingInfo{opt.second.setting->to_string(),
                                          opt.second.setting->description});
+    }
+  }
 }
 
 void AbstractConfig::applyConfigFile(const Path& path) {
@@ -83,8 +86,9 @@ void AbstractConfig::applyConfigFile(const Path& path) {
 
     while (pos < contents.size()) {
       string line;
-      while (pos < contents.size() && contents[pos] != '\n')
+      while (pos < contents.size() && contents[pos] != '\n') {
         line += contents[pos++];
+      }
       pos++;
 
       string::size_type hash = line.find('#');
@@ -97,23 +101,25 @@ void AbstractConfig::applyConfigFile(const Path& path) {
         continue;
       }
 
-      if (tokens.size() < 2)
+      if (tokens.size() < 2) {
         throw UsageError("illegal configuration line '%1%' in '%2%'", line,
                          path);
+      }
 
       auto include = false;
       auto ignoreMissing = false;
-      if (tokens[0] == "include")
+      if (tokens[0] == "include") {
         include = true;
-      else if (tokens[0] == "!include") {
+      } else if (tokens[0] == "!include") {
         include = true;
         ignoreMissing = true;
       }
 
       if (include) {
-        if (tokens.size() != 2)
+        if (tokens.size() != 2) {
           throw UsageError("illegal configuration line '%1%' in '%2%'", line,
                            path);
+        }
         auto p = absPath(tokens[1], dirOf(path));
         if (pathExists(p)) {
           applyConfigFile(p);
@@ -123,9 +129,10 @@ void AbstractConfig::applyConfigFile(const Path& path) {
         continue;
       }
 
-      if (tokens[1] != "=")
+      if (tokens[1] != "=") {
         throw UsageError("illegal configuration line '%1%' in '%2%'", line,
                          path);
+      }
 
       string name = tokens[0];
 
@@ -146,20 +153,22 @@ void Config::resetOverriden() {
 }
 
 void Config::toJSON(JSONObject& out) {
-  for (auto& s : _settings)
+  for (auto& s : _settings) {
     if (!s.second.isAlias) {
       JSONObject out2(out.object(s.first));
       out2.attr("description", s.second.setting->description);
       JSONPlaceholder out3(out2.placeholder("value"));
       s.second.setting->toJSON(out3);
     }
+  }
 }
 
 void Config::convertToArgs(Args& args, const std::string& category) {
-  for (auto& s : _settings)
+  for (auto& s : _settings) {
     if (!s.second.isAlias) {
       s.second.setting->convertToArg(args, category);
     }
+  }
 }
 
 AbstractSetting::AbstractSetting(const std::string& name,
@@ -202,8 +211,9 @@ std::string BaseSetting<std::string>::to_string() {
 template <typename T>
 void BaseSetting<T>::set(const std::string& str) {
   static_assert(std::is_integral<T>::value, "Integer required.");
-  if (!string2Int(str, value))
+  if (!string2Int(str, value)) {
     throw UsageError("setting '%s' has invalid value '%s'", name, str);
+  }
 }
 
 template <typename T>
@@ -214,12 +224,13 @@ std::string BaseSetting<T>::to_string() {
 
 template <>
 void BaseSetting<bool>::set(const std::string& str) {
-  if (str == "true" || str == "yes" || str == "1")
+  if (str == "true" || str == "yes" || str == "1") {
     value = true;
-  else if (str == "false" || str == "no" || str == "0")
+  } else if (str == "false" || str == "no" || str == "0") {
     value = false;
-  else
+  } else {
     throw UsageError("Boolean setting '%s' has invalid value '%s'", name, str);
+  }
 }
 
 template <>
@@ -290,19 +301,22 @@ template class BaseSetting<StringSet>;
 
 void PathSetting::set(const std::string& str) {
   if (str == "") {
-    if (allowEmpty)
+    if (allowEmpty) {
       value = "";
-    else
+    } else {
       throw UsageError("setting '%s' cannot be empty", name);
-  } else
+    }
+  } else {
     value = canonPath(str);
+  }
 }
 
 bool GlobalConfig::set(const std::string& name, const std::string& value) {
-  for (auto& config : *configRegistrations)
+  for (auto& config : *configRegistrations) {
     if (config->set(name, value)) {
       return true;
     }
+  }
 
   unknownSettings.emplace(name, value);
 
@@ -311,8 +325,9 @@ bool GlobalConfig::set(const std::string& name, const std::string& value) {
 
 void GlobalConfig::getSettings(std::map<std::string, SettingInfo>& res,
                                bool overridenOnly) {
-  for (auto& config : *configRegistrations)
+  for (auto& config : *configRegistrations) {
     config->getSettings(res, overridenOnly);
+  }
 }
 
 void GlobalConfig::resetOverriden() {
@@ -328,8 +343,9 @@ void GlobalConfig::toJSON(JSONObject& out) {
 }
 
 void GlobalConfig::convertToArgs(Args& args, const std::string& category) {
-  for (auto& config : *configRegistrations)
+  for (auto& config : *configRegistrations) {
     config->convertToArgs(args, category);
+  }
 }
 
 GlobalConfig globalConfig;