diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-06-03 14:38:39 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2020-06-03 16:47:34 +0300 |
commit | f50d0d58c8eb659e803282e19cf15398e3a8e373 (patch) | |
tree | ad9d6a434661cb08a89b8871601d4dc55235a8ae /libbuild2/build/script | |
parent | 450c907b2a10c43748b8c15df20d92ff782269c7 (diff) |
Fix $process.run() to properly handle proces_path_ex
Diffstat (limited to 'libbuild2/build/script')
-rw-r--r-- | libbuild2/build/script/parser.cxx | 12 |
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); |