* 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) static Expr primToString(EvalState & state, const ATermVector & args)
{ {
PathSet context; PathSet context;
string s = coerceToString(state, args[0], context); string s = coerceToString(state, args[0], context, true, false);
/* !!! do lists etc */
return makeStr(s, context); return makeStr(s, context);
} }