diff options
author | Shea Levy <shea@shealevy.com> | 2014-02-04T15·37-0500 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-02-07T17·03+0100 |
commit | 84a8b5e9af2df4ed7f7860a6768daf83f72724ca (patch) | |
tree | ba91baa1c5d33dc32a510499a1c1edab8a12b89b | |
parent | e4058fab64d82ddb7723142c7c595e80eeba0f3e (diff) |
nix-instantiate --eval-only --read-write-mode: Don't depend on ordering
Signed-off-by: Shea Levy <shea@shealevy.com>
-rw-r--r-- | src/nix-instantiate/nix-instantiate.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/nix-instantiate/nix-instantiate.cc b/src/nix-instantiate/nix-instantiate.cc index 6a93acf39602..e9f1284eb182 100644 --- a/src/nix-instantiate/nix-instantiate.cc +++ b/src/nix-instantiate/nix-instantiate.cc @@ -97,23 +97,19 @@ void run(Strings args) bool strict = false; Strings attrPaths; Bindings autoArgs; + bool wantsReadWrite = false; for (Strings::iterator i = args.begin(); i != args.end(); ) { string arg = *i++; if (arg == "-") readStdin = true; - else if (arg == "--eval-only") { - settings.readOnlyMode = true; + else if (arg == "--eval-only") evalOnly = true; - } - else if (arg == "--read-write-mode") { - settings.readOnlyMode = false; - } - else if (arg == "--parse-only") { - settings.readOnlyMode = true; + else if (arg == "--read-write-mode") + wantsReadWrite = true; + else if (arg == "--parse-only") parseOnly = evalOnly = true; - } else if (arg == "--find-file") findFile = true; else if (arg == "--attr" || arg == "-A") { @@ -146,6 +142,9 @@ void run(Strings args) files.push_back(arg); } + if (evalOnly && !wantsReadWrite) + settings.readOnlyMode = true; + if (attrPaths.empty()) attrPaths.push_back(""); if (findFile) { |