diff options
| -rw-r--r-- | nix/libstore/build.cc | 2 | ||||
| -rw-r--r-- | nix/libstore/builtins.cc | 2 | ||||
| -rw-r--r-- | nix/libstore/builtins.hh | 26 | ||||
| -rw-r--r-- | nix/libstore/derivations.cc | 5 | ||||
| -rw-r--r-- | nix/libstore/gc.cc | 6 | ||||
| -rw-r--r-- | nix/libstore/globals.cc | 2 | ||||
| -rw-r--r-- | nix/libstore/local-store.cc | 2 | ||||
| -rw-r--r-- | nix/libstore/misc.cc | 1 | ||||
| -rw-r--r-- | nix/libstore/store-api.cc | 2 | ||||
| -rw-r--r-- | nix/libutil/affinity.cc | 2 | ||||
| -rw-r--r-- | nix/libutil/archive.cc | 2 | ||||
| -rw-r--r-- | nix/libutil/spawn.cc | 1 | ||||
| -rw-r--r-- | nix/libutil/util.cc | 7 | ||||
| -rw-r--r-- | nix/libutil/util.hh | 4 |
14 files changed, 21 insertions, 43 deletions
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index bf2e9150d6a..b3f9c24983c 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -1573,7 +1573,7 @@ HookReply DerivationGoal::tryBuildHook() string reply; while (true) { string s = readLine(worker.hook->fromAgent.readSide); - if (string(s, 0, 2) == "# ") { + if (s.starts_with("# ")) { reply = string(s, 2); break; } diff --git a/nix/libstore/builtins.cc b/nix/libstore/builtins.cc index b1a32480b55..dc0f68a171a 100644 --- a/nix/libstore/builtins.cc +++ b/nix/libstore/builtins.cc @@ -65,7 +65,7 @@ static const std::map<std::string, derivationBuilder> builtins = derivationBuilder lookupBuiltinBuilder(const std::string & name) { - if (name.substr(0, 8) == "builtin:") + if (name.starts_with("builtin:")) { auto realName = name.substr(8); auto builder = builtins.find(realName); diff --git a/nix/libstore/builtins.hh b/nix/libstore/builtins.hh index 602a5a1c58d..d5d09e27bc0 100644 --- a/nix/libstore/builtins.hh +++ b/nix/libstore/builtins.hh @@ -25,20 +25,20 @@ namespace nix { - inline bool isBuiltin(const Derivation & drv) - { - return string(drv.builder, 0, 8) == "builtin:"; - } +inline bool isBuiltin(const Derivation & drv) +{ + return drv.builder.starts_with("builtin:"); +} - /* Build DRV, which lives at DRVPATH. */ - typedef void (*derivationBuilder) (const Derivation &drv, - const std::string &drvPath, - const std::string &output); +/* Build DRV, which lives at DRVPATH. */ +typedef void (*derivationBuilder) (const Derivation &drv, + const std::string &drvPath, + const std::string &output); - /* Return the built-in builder called BUILDER, or NULL if none was - found. */ - derivationBuilder lookupBuiltinBuilder(const std::string &builder); +/* Return the built-in builder called BUILDER, or NULL if none was + found. */ +derivationBuilder lookupBuiltinBuilder(const std::string &builder); - /* Return the list of supported built-in builder names. */ - std::list<std::string> builtinBuilderNames(); +/* Return the list of supported built-in builder names. */ +std::list<std::string> builtinBuilderNames(); } diff --git a/nix/libstore/derivations.cc b/nix/libstore/derivations.cc index c253a2a438a..f05296702b3 100644 --- a/nix/libstore/derivations.cc +++ b/nix/libstore/derivations.cc @@ -2,7 +2,6 @@ #include "store-api.hh" #include "globals.hh" #include "util.hh" -#include "misc.hh" #include <format> @@ -16,7 +15,7 @@ void DerivationOutput::parseHashInfo(bool & recursive, HashType & hashType, Hash recursive = false; string algo = hashAlgo; - if (string(algo, 0, 2) == "r:") { + if (algo.starts_with("r:")) { recursive = true; algo = string(algo, 2); } @@ -200,7 +199,7 @@ string unparseDerivation(const Derivation & drv) bool isDerivation(const string & fileName) { - return hasSuffix(fileName, drvExtension); + return fileName.ends_with(drvExtension); } diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index 96440077fb5..efb9fd52cbb 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -2,8 +2,6 @@ #include "misc.hh" #include "local-store.hh" -#include <functional> -#include <queue> #include <random> #include <algorithm> #include <format> @@ -108,7 +106,7 @@ Path addPermRoot(StoreAPI & store, const Path & _storePath, if (!allowOutsideRootsDir) { Path rootsDir = canonPath(std::format("{}/{}", settings.nixStateDir, gcRootsDir)); - if (string(gcRoot, 0, rootsDir.size() + 1) != rootsDir + "/") + if (gcRoot.starts_with(rootsDir + "/")) throw Error(std::format( "path `{}' is not a valid garbage collector root; " "it's not in the directory `{}'", @@ -383,7 +381,7 @@ struct LocalStore::GCState bool LocalStore::isActiveTempFile(const GCState & state, const Path & path, const string & suffix) { - return hasSuffix(path, suffix) + return path.ends_with(suffix) && state.tempRoots.find(string(path, 0, path.size() - suffix.size())) != state.tempRoots.end(); } diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 16f43f6abcb..8551fea56c0 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -2,10 +2,8 @@ #include "globals.hh" #include "util.hh" -#include "archive.hh" #include <map> -#include <algorithm> #include <format> namespace nix { diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc index f11f48bcf07..161c8d81bda 100644 --- a/nix/libstore/local-store.cc +++ b/nix/libstore/local-store.cc @@ -5,9 +5,7 @@ #include "pathlocks.hh" #include "worker-protocol.hh" #include "derivations.hh" -#include "affinity.hh" -#include <iostream> #include <algorithm> #include <format> #include <cstring> diff --git a/nix/libstore/misc.cc b/nix/libstore/misc.cc index 943fb9c9719..88a24d4b822 100644 --- a/nix/libstore/misc.cc +++ b/nix/libstore/misc.cc @@ -2,7 +2,6 @@ #include <math.h> #include "store-api.hh" #include "local-store.hh" -#include "globals.hh" #include <format> diff --git a/nix/libstore/store-api.cc b/nix/libstore/store-api.cc index 0596678b8b5..1067e44a8e2 100644 --- a/nix/libstore/store-api.cc +++ b/nix/libstore/store-api.cc @@ -60,7 +60,7 @@ void checkStoreName(const string & name) string validChars = "+-._?="; /* Disallow names starting with a dot for possible security reasons (e.g., "." and ".."). */ - if (string(name, 0, 1) == ".") + if (name.starts_with(".")) throw Error(std::format("invalid name: `{}' (can't begin with dot)", name)); for (const auto& i : name) if (!((i >= 'A' && i <= 'Z') || diff --git a/nix/libutil/affinity.cc b/nix/libutil/affinity.cc index d50e9f3e9cd..53500c22ab9 100644 --- a/nix/libutil/affinity.cc +++ b/nix/libutil/affinity.cc @@ -3,7 +3,7 @@ #include "affinity.hh" #include <format> - + #if HAVE_SCHED_H #include <sched.h> #endif diff --git a/nix/libutil/archive.cc b/nix/libutil/archive.cc index 0df5285860b..fa9f4398e3c 100644 --- a/nix/libutil/archive.cc +++ b/nix/libutil/archive.cc @@ -3,8 +3,6 @@ #include "config.h" #include <cerrno> -#include <algorithm> -#include <vector> #include <map> #include <format> diff --git a/nix/libutil/spawn.cc b/nix/libutil/spawn.cc index c25c3a681f2..02676d65f97 100644 --- a/nix/libutil/spawn.cc +++ b/nix/libutil/spawn.cc @@ -29,7 +29,6 @@ #include <fcntl.h> #include <cstring> #include <cstdlib> -#include <cstdint> #include <cassert> #include <format> diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc index ddce9879cac..22022db51a5 100644 --- a/nix/libutil/util.cc +++ b/nix/libutil/util.cc @@ -7,7 +7,6 @@ #include <cerrno> #include <cstdio> #include <cstdlib> -#include <sstream> #include <cstring> #include <cassert> #include <format> @@ -1343,12 +1342,6 @@ bool statusOk(int status) } -bool hasSuffix(const string & s, const string & suffix) -{ - return s.size() >= suffix.size() && string(s, s.size() - suffix.size()) == suffix; -} - - void expect(std::istream & str, std::string_view s) { std::vector<char> s2(s.size()); diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh index d30dc7801e2..436c378cb6e 100644 --- a/nix/libutil/util.hh +++ b/nix/libutil/util.hh @@ -365,10 +365,6 @@ template<class N> bool string2Int(const string & s, N & n) } -/* Return true iff `s' ends in `suffix'. */ -bool hasSuffix(const string & s, const string & suffix); - - /* Read string `s' from stream `str'. */ void expect(std::istream & str, std::string_view s); |
