aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/store-api.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-30 19:55:41 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-30 19:55:41 -0400
commit97421eb5ecde86b75441094fda017b12b5eca2a6 (patch)
tree97ab7442b5bf13363320b4facb50d2f3e384d8ed /src/libstore/store-api.cc
parentd50d7a287416da2086b0b24f9d998eabb24c1734 (diff)
Refactor settings processing
Put all Nix configuration flags in a Settings object.
Diffstat (limited to 'src/libstore/store-api.cc')
-rw-r--r--src/libstore/store-api.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index b64988268..6f81a9aab 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -19,16 +19,16 @@ GCOptions::GCOptions()
bool isInStore(const Path & path)
{
return path[0] == '/'
- && string(path, 0, nixStore.size()) == nixStore
- && path.size() >= nixStore.size() + 2
- && path[nixStore.size()] == '/';
+ && string(path, 0, settings.nixStore.size()) == settings.nixStore
+ && path.size() >= settings.nixStore.size() + 2
+ && path[settings.nixStore.size()] == '/';
}
bool isStorePath(const Path & path)
{
return isInStore(path)
- && path.find('/', nixStore.size() + 1) == Path::npos;
+ && path.find('/', settings.nixStore.size() + 1) == Path::npos;
}
@@ -43,7 +43,7 @@ Path toStorePath(const Path & path)
{
if (!isInStore(path))
throw Error(format("path `%1%' is not in the Nix store") % path);
- Path::size_type slash = path.find('/', nixStore.size() + 1);
+ Path::size_type slash = path.find('/', settings.nixStore.size() + 1);
if (slash == Path::npos)
return path;
else
@@ -74,7 +74,7 @@ Path followLinksToStorePath(const Path & path)
string storePathToName(const Path & path)
{
assertStorePath(path);
- return string(path, nixStore.size() + 34);
+ return string(path, settings.nixStore.size() + 34);
}
@@ -173,11 +173,11 @@ Path makeStorePath(const string & type,
{
/* e.g., "source:sha256:1abc...:/nix/store:foo.tar.gz" */
string s = type + ":sha256:" + printHash(hash) + ":"
- + nixStore + ":" + name;
+ + settings.nixStore + ":" + name;
checkStoreName(name);
- return nixStore + "/"
+ return settings.nixStore + "/"
+ printHash32(compressHash(hashString(htSHA256, s), 20))
+ "-" + name;
}