about summary refs log tree commit diff
path: root/src/libstore/store.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/store.cc')
-rw-r--r--src/libstore/store.cc25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/libstore/store.cc b/src/libstore/store.cc
index 02bf9803b29c..0dd4e1ed2553 100644
--- a/src/libstore/store.cc
+++ b/src/libstore/store.cc
@@ -331,26 +331,19 @@ static void writeSubstitutes(const Transaction & txn,
 }
 
 
-void registerSubstitutes(const Transaction & txn,
-    const SubstitutePairs & subPairs)
+void registerSubstitute(const Transaction & txn,
+    const Path & srcPath, const Substitute & sub)
 {
-    for (SubstitutePairs::const_iterator i = subPairs.begin();
-         i != subPairs.end(); ++i)
-    {
-        const Path & srcPath(i->first);
-        const Substitute & sub(i->second);
-
-        assertStorePath(srcPath);
+    assertStorePath(srcPath);
     
-        Substitutes subs = readSubstitutes(txn, srcPath);
+    Substitutes subs = readSubstitutes(txn, srcPath);
 
-        /* New substitutes take precedence over old ones.  If the
-           substitute is already present, it's moved to the front. */
-        remove(subs.begin(), subs.end(), sub);
-        subs.push_front(sub);
+    /* New substitutes take precedence over old ones.  If the
+       substitute is already present, it's moved to the front. */
+    remove(subs.begin(), subs.end(), sub);
+    subs.push_front(sub);
         
-        writeSubstitutes(txn, srcPath, subs);
-    }
+    writeSubstitutes(txn, srcPath, subs);
 }