aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/store-api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/store-api.cc')
-rw-r--r--src/libstore/store-api.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index 01dd51621..f0abe61ad 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -1,6 +1,7 @@
#include "store-api.hh"
#include "globals.hh"
#include "util.hh"
+#include "derivations.hh"
#include <limits.h>
@@ -52,6 +53,18 @@ Path toStorePath(const Path & path)
}
+string getNameOfStorePath(const Path & path)
+{
+ Path::size_type slash = path.rfind('/');
+ string p = slash == Path::npos ? path : string(path, slash + 1);
+ Path::size_type dash = p.find('-');
+ assert(dash != Path::npos);
+ string p2 = string(p, dash + 1);
+ if (isDerivation(p2)) p2 = string(p2, 0, p2.size() - 4);
+ return p2;
+}
+
+
Path followLinksToStore(const Path & _path)
{
Path path = absPath(_path);