about summary refs log tree commit diff
path: root/third_party/nix/src/libutil/util.cc
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-25T00·19+0100
committerVincent Ambo <tazjin@google.com>2020-05-25T00·19+0100
commit98299da0fda612b42ab933c47f18163cfef5fa71 (patch)
tree78fc0f1127b5f2336d3e370f342f72f38d5a5ee2 /third_party/nix/src/libutil/util.cc
parentb371821db59d33851d521d66ba1fb126d388c00f (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.cc19
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()) {