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.hh | |
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.hh')
-rw-r--r-- | third_party/nix/src/libutil/util.hh | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/third_party/nix/src/libutil/util.hh b/third_party/nix/src/libutil/util.hh index 7d10df50bf5b..0f3752dfde5a 100644 --- a/third_party/nix/src/libutil/util.hh +++ b/third_party/nix/src/libutil/util.hh @@ -8,6 +8,7 @@ #include <optional> #include <sstream> +#include <absl/strings/string_view.h> #include <dirent.h> #include <signal.h> #include <sys/stat.h> @@ -97,8 +98,8 @@ unsigned char getFileType(const Path& path); /* Read the contents of a file into a string. */ std::string readFile(int fd); -std::string readFile(const Path& path, bool drain = false); -void readFile(const Path& path, Sink& sink); +std::string readFile(absl::string_view path, bool drain = false); +void readFile(absl::string_view path, Sink& sink); /* Write a string to a file. */ void writeFile(const Path& path, const std::string& s, mode_t mode = 0666); @@ -325,10 +326,6 @@ C tokenizeString(const std::string& s, std::string concatStringsSep(const std::string& sep, const Strings& ss); std::string concatStringsSep(const std::string& sep, const StringSet& ss); -/* Remove whitespace from the start and end of a string. */ -std::string trim(const std::string& s, - const std::string& whitespace = " \n\r\t"); - /* Replace all occurrences of a string inside another string. */ std::string replaceStrings(const std::string& s, const std::string& from, const std::string& to); @@ -339,16 +336,6 @@ std::string statusToString(int status); bool statusOk(int status); -/* Parse a string into an integer. */ -template <class N> -bool string2Int(const std::string& s, N& n) { - if (std::string(s, 0, 1) == "-" && !std::numeric_limits<N>::is_signed) - return false; - std::istringstream str(s); - str >> n; - return str && str.get() == EOF; -} - /* Parse a string into a float. */ template <class N> bool string2Float(const std::string& s, N& n) { |