diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2007-11-29T16·18+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2007-11-29T16·18+0000 |
commit | 633518628f48fb9c06bfd570eeca6f62696aba05 (patch) | |
tree | 33313707305a011265e30d4670264a9b7979d298 /src/libutil/util.cc | |
parent | 12d0a1eb753567bb2083aadb4ee3d325d3f29c70 (diff) |
* nix-env -e: support uninstalling by path, so that one can say
$ nix-env -e $(which firefox) or $ nix-env -e /nix/store/nywzlygrkfcgz7dfmhm5xixlx1l0m60v-pan-0.132 * nix-env -i: if an argument contains a slash anywhere, treat it as a path and follow it through symlinks into the Nix store. This allows things like $ nix-build -A firefox $ nix-env -i ./result * nix-env -q/-i/-e: don't complain when the `*' selector doesn't match anything. In particular, `nix-env -q \*' doesn't fail anymore on an empty profile.
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r-- | src/libutil/util.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc index ed095717e262..37e158e4aff0 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -105,8 +105,7 @@ Path canonPath(const Path & path, bool resolveSymlinks) /* If s points to a symlink, resolve it and restart (since the symlink target might contain new symlinks). */ if (resolveSymlinks && isLink(s)) { - followCount++; - if (followCount >= maxFollow) + if (++followCount >= maxFollow) throw Error(format("infinite symlink recursion in path `%1%'") % path); temp = absPath(readLink(s), dirOf(s)) + string(i, end); |