diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-09-29 09:46:58 +0200 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2022-09-29 13:45:03 +0300 |
commit | d7cb460833e6dde3e3b958b993eee3eee4ae3bf0 (patch) | |
tree | d96f782c0c3e79b4ce21a510498517c4b1386b35 /libbuild2/parser.cxx | |
parent | e086480b76d995beb23b9b91bda335702f7f0d2a (diff) |
Fix variable append logic in script
Diffstat (limited to 'libbuild2/parser.cxx')
-rw-r--r-- | libbuild2/parser.cxx | 12 |
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 |