aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr')
-rw-r--r--src/libexpr/attr-path.cc5
-rw-r--r--src/libexpr/attr-path.hh3
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libexpr/attr-path.cc b/src/libexpr/attr-path.cc
index 63bb1e554..7228adf95 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 f64ef7a7c..0797ecc58 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 */