guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

290/376: realiseContext: Handle all context types


From: Ludovic Courtès
Subject: 290/376: realiseContext: Handle all context types
Date: Wed, 28 Jan 2015 22:05:41 +0000

civodul pushed a commit to tag 1.8
in repository guix.

commit 2719627bbe4001b172e1b54ca7c300593675bf3f
Author: Shea Levy <address@hidden>
Date:   Sat Nov 15 21:43:51 2014 -0500

    realiseContext: Handle all context types
    
    Avoids an assertion
---
 src/libexpr/primops.cc |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 50d03f3..6203a11 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -35,7 +35,7 @@ std::pair<string, string> decodeContext(const string & s)
         size_t index = s.find("!", 1);
         return std::pair<string, string>(string(s, index + 1), string(s, 1, 
index - 1));
     } else
-        return std::pair<string, string>(s, "");
+        return std::pair<string, string>(s.at(0) == '/' ? s: string(s, 1), "");
 }
 
 
@@ -51,7 +51,7 @@ void realiseContext(const PathSet & context)
         assert(isStorePath(ctx));
         if (!store->isValidPath(ctx))
             throw InvalidPathError(ctx);
-        if (isDerivation(ctx))
+        if (!decoded.second.empty() && isDerivation(ctx))
             drvs.insert(decoded.first + "!" + decoded.second);
     }
     if (!drvs.empty()) {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]