aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build/script/parser.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/build/script/parser.cxx')
-rw-r--r--libbuild2/build/script/parser.cxx12
1 files changed, 3 insertions, 9 deletions
diff --git a/libbuild2/build/script/parser.cxx b/libbuild2/build/script/parser.cxx
index 2a0555e..c4c4b03 100644
--- a/libbuild2/build/script/parser.cxx
+++ b/libbuild2/build/script/parser.cxx
@@ -475,18 +475,12 @@ namespace build2
{
// Find the end of the value.
//
- auto b (ns.begin ()), i (b), e (ns.end ());
- for (i += i->pair ? 2 : 1; i != e && i->pair; i += 2)
- {
- if (!i->simple () ||
- (i->value != "name" && i->value != "checksum"))
- break;
- }
+ auto b (ns.begin ());
+ auto i (value_traits<process_path_ex>::find_end (ns));
if (b->pair || i != b + 1) // First is a pair or pairs after.
{
- pp_ns.insert (pp_ns.end (),
- make_move_iterator (b), make_move_iterator (i));
+ pp_ns = names (make_move_iterator (b), make_move_iterator (i));
ns.erase (b, i);