diff options
author | Vincent Ambo <tazjin@google.com> | 2020-05-25T00·19+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2020-05-25T00·19+0100 |
commit | 98299da0fda612b42ab933c47f18163cfef5fa71 (patch) | |
tree | 78fc0f1127b5f2336d3e370f342f72f38d5a5ee2 /third_party/nix/src/libutil/util.cc | |
parent | b371821db59d33851d521d66ba1fb126d388c00f (diff) |
refactor(3p/nix/libutil): Replace string2Int & trim functions r/843
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.
Diffstat (limited to 'third_party/nix/src/libutil/util.cc')
-rw-r--r-- | third_party/nix/src/libutil/util.cc | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/third_party/nix/src/libutil/util.cc b/third_party/nix/src/libutil/util.cc index 696a8ff2365e..8dca97af98a0 100644 --- a/third_party/nix/src/libutil/util.cc +++ b/third_party/nix/src/libutil/util.cc @@ -12,6 +12,7 @@ #include <thread> #include <utility> +#include <absl/strings/string_view.h> #include <fcntl.h> #include <grp.h> #include <pwd.h> @@ -306,16 +307,17 @@ std::string readFile(int fd) { return std::string((char*)buf.data(), st.st_size); } -std::string readFile(const Path& path, bool drain) { - AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_CLOEXEC); +std::string readFile(absl::string_view path, bool drain) { + AutoCloseFD fd = open(std::string(path).c_str(), O_RDONLY | O_CLOEXEC); if (!fd) { throw SysError(format("opening file '%1%'") % path); } return drain ? drainFD(fd.get()) : readFile(fd.get()); } -void readFile(const Path& path, Sink& sink) { - AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_CLOEXEC); +void readFile(absl::string_view path, Sink& sink) { + // TODO(tazjin): use stdlib functions for this stuff + AutoCloseFD fd = open(std::string(path).c_str(), O_RDONLY | O_CLOEXEC); if (!fd) { throw SysError("opening file '%s'", path); } @@ -1213,15 +1215,6 @@ std::string concatStringsSep(const std::string& sep, const StringSet& ss) { return s; } -std::string trim(const std::string& s, const std::string& whitespace) { - auto i = s.find_first_not_of(whitespace); - if (i == std::string::npos) { - return ""; - } - auto j = s.find_last_not_of(whitespace); - return std::string(s, i, j == std::string::npos ? j : j - i + 1); -} - std::string replaceStrings(const std::string& s, const std::string& from, const std::string& to) { if (from.empty()) { |