diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2017-04-19 02:28:27 +0300 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-04-19 04:18:44 +0200 |
commit | bab5f9b799e5b64c59ad9c78070a4254fe9ceeab (patch) | |
tree | df86f23a46cd9eff9374043128bdf7f88463b9af /butl | |
parent | 23a129810c6c2fc6abc37945079733eb98121282 (diff) |
Fix parameter pack expansion in process_start() for Clang
Diffstat (limited to 'butl')
-rw-r--r-- | butl/process-run.txx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/butl/process-run.txx b/butl/process-run.txx index 4437488..9de601f 100644 --- a/butl/process-run.txx +++ b/butl/process-run.txx @@ -58,9 +58,14 @@ namespace butl small_vector<const char*, args_size + 2> cmd; cmd.push_back (pp.recall_string ()); + auto call = [&cmd] (const auto& x, std::string& s) -> const char* + { + process_args_as (cmd, x, s); + return nullptr; + }; + std::string storage[args_size != 0 ? args_size : 1]; - const char* dummy[] = { - nullptr, (process_args_as (cmd, args, storage[index]), nullptr)... }; + const char* dummy[] = {nullptr, call (args, storage[index])... }; cmd.push_back (dummy[0]); // NULL (and get rid of unused warning). |