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

@ -4,6 +4,7 @@
#include <iostream>
#include <sstream>
#include <absl/strings/numbers.h>
#include <glog/logging.h>
#include <sys/stat.h>
#include <sys/types.h>
@ -1303,7 +1304,7 @@ static void opSwitchGeneration(Globals& globals, Strings opFlags,
}
int dstGen;
if (!string2Int(opArgs.front(), dstGen)) {
if (!absl::SimpleAtoi(opArgs.front(), &dstGen)) {
throw UsageError(format("expected a generation number"));
}
@ -1369,7 +1370,7 @@ static void opDeleteGenerations(Globals& globals, Strings opFlags,
}
std::string str_max = std::string(opArgs.front(), 1, opArgs.front().size());
int max;
if (!string2Int(str_max, max) || max == 0) {
if (!absl::SimpleAtoi(str_max, &max) || max == 0) {
throw Error(format("invalid number of generations to keep %1%") %
opArgs.front());
}
@ -1378,7 +1379,7 @@ static void opDeleteGenerations(Globals& globals, Strings opFlags,
std::set<unsigned int> gens;
for (auto& i : opArgs) {
unsigned int n;
if (!string2Int(i, n)) {
if (!absl::SimpleAtoi(i, &n)) {
throw UsageError(format("invalid generation number '%1%'") % i);
}
gens.insert(n);