aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/parser.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-09-29 09:46:58 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2022-09-29 13:45:03 +0300
commitd7cb460833e6dde3e3b958b993eee3eee4ae3bf0 (patch)
treed96f782c0c3e79b4ce21a510498517c4b1386b35 /libbuild2/parser.cxx
parente086480b76d995beb23b9b91bda335702f7f0d2a (diff)
Fix variable append logic in script
Diffstat (limited to 'libbuild2/parser.cxx')
-rw-r--r--libbuild2/parser.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/libbuild2/parser.cxx b/libbuild2/parser.cxx
index 5dbbfac..1cffb85 100644
--- a/libbuild2/parser.cxx
+++ b/libbuild2/parser.cxx
@@ -5001,6 +5001,18 @@ namespace build2
fail (l) << "unexpected value in attribute " << a;
}
+ apply_value (var, v, move (rhs), kind, l, type, null);
+ }
+
+ void parser::
+ apply_value (const variable* var,
+ value& v,
+ value&& rhs,
+ type kind,
+ const location& l,
+ const value_type* type,
+ bool null)
+ {
// When do we set the type and when do we keep the original? This gets
// tricky for append/prepend where both values contribute. The guiding
// rule here is that if the user specified the type, then they reasonable