refactor(3p/nix/libutil): Replace string2Int & trim functions

Replaces these functions with corresponding functions from Abseil,
namely absl::StripAsciiWhitespace and absl::SimpleAtoi.

In the course of doing this some minor things I encountered along the
way were also refactored.

This also changes the signatures of the various custom readFile
functions to use absl::string_view types.
This commit is contained in:
Vincent Ambo 2020-05-25 01:19:02 +01:00
parent b371821db5
commit 98299da0fd
19 changed files with 84 additions and 72 deletions

View file

@ -3,6 +3,7 @@
#include <utility>
#include <absl/strings/numbers.h>
#include <glog/logging.h>
#include "args.hh"
@ -214,7 +215,7 @@ 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 (!absl::SimpleAtoi(str, &value)) {
throw UsageError("setting '%s' has invalid value '%s'", name, str);
}
}