* toString: don't copy paths. So toString can be used to pass

non-store paths to a builder.
This commit is contained in:
Eelco Dolstra 2006-10-17 10:58:12 +00:00
parent 7de5fe2fc2
commit cf705eaf78

View file

@ -324,12 +324,13 @@ static Expr primDirOf(EvalState & state, const ATermVector & args)
}
/* Convert the argument to a string. */
/* Convert the argument to a string. Paths are *not* copied to the
store, so `toString /foo/bar' yields `"/foo/bar"', not
`"/nix/store/whatever..."'. */
static Expr primToString(EvalState & state, const ATermVector & args)
{
PathSet context;
string s = coerceToString(state, args[0], context);
/* !!! do lists etc */
string s = coerceToString(state, args[0], context, true, false);
return makeStr(s, context);
}