about summary refs log tree commit diff
path: root/src/nix.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-06-23T14·40+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-06-23T14·40+0000
commit692b562342ac7ead43ef06497f6a8b4b6e724ae5 (patch)
tree4cd87673fff6af4c6c5501b274bfc1023246aaba /src/nix.cc
parentc0cbaef4bece0c2447828739dd9622c329948064 (diff)
* `nix --delete' command.
Diffstat (limited to 'src/nix.cc')
-rw-r--r--src/nix.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/nix.cc b/src/nix.cc
index bd356581096f..9b21f0379cc5 100644
--- a/src/nix.cc
+++ b/src/nix.cc
@@ -112,8 +112,20 @@ static void opEvaluate(Strings opFlags, Strings opArgs)
 static void opDelete(Strings opFlags, Strings opArgs)
 {
     getArgType(opFlags);
+    if (!opFlags.empty()) throw UsageError("unknown flag");
 
-    cerr << "delete!\n";
+    for (Strings::iterator it = opArgs.begin();
+         it != opArgs.end(); it++)
+    {
+        Hash hash;
+        if (argType == atpHash)
+            hash = parseHash(*it);
+        else if (argType == atpName)
+            throw Error("not implemented");
+        else
+            throw Error("invalid argument type");
+        deleteValue(hash);
+    }
 }