diff options
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/attr-path.cc | 5 | ||||
-rw-r--r-- | src/libexpr/attr-path.hh | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libexpr/attr-path.cc b/src/libexpr/attr-path.cc index 63bb1e554041..7228adf95d01 100644 --- a/src/libexpr/attr-path.cc +++ b/src/libexpr/attr-path.cc @@ -12,7 +12,8 @@ bool isAttrs(EvalState & state, Expr e, ATermMap & attrs) } -Expr findAlongAttrPath(EvalState & state, const string & attrPath, Expr e) +Expr findAlongAttrPath(EvalState & state, const string & attrPath, + const ATermMap & autoArgs, Expr e) { Strings tokens = tokenizeString(attrPath, "."); @@ -33,7 +34,7 @@ Expr findAlongAttrPath(EvalState & state, const string & attrPath, Expr e) if (string2Int(attr, attrIndex)) apType = apIndex; /* Evaluate the expression. */ - e = evalExpr(state, autoCallFunction(evalExpr(state, e), ATermMap(1))); + e = evalExpr(state, autoCallFunction(evalExpr(state, e), autoArgs)); /* It should evaluate to either an attribute set or an expression, according to what is specified in the diff --git a/src/libexpr/attr-path.hh b/src/libexpr/attr-path.hh index f64ef7a7cdee..0797ecc58218 100644 --- a/src/libexpr/attr-path.hh +++ b/src/libexpr/attr-path.hh @@ -7,7 +7,8 @@ #include "eval.hh" -Expr findAlongAttrPath(EvalState & state, const string & attrPath, Expr e); +Expr findAlongAttrPath(EvalState & state, const string & attrPath, + const ATermMap & autoArgs, Expr e); #endif /* !__ATTR_PATH_H */ |