aboutsummaryrefslogtreecommitdiff
path: root/odb/plugin.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/plugin.cxx')
-rw-r--r--odb/plugin.cxx15
1 files changed, 6 insertions, 9 deletions
diff --git a/odb/plugin.cxx b/odb/plugin.cxx
index ec4aaeb..e32f225 100644
--- a/odb/plugin.cxx
+++ b/odb/plugin.cxx
@@ -277,10 +277,7 @@ plugin_init (plugin_name_args* plugin_info, plugin_gcc_version*)
//
{
strings argv_str;
- vector<char*> argv;
-
argv_str.push_back (plugin_info->base_name);
- argv.push_back (const_cast<char*> (argv_str.back ().c_str ()));
for (int i (0); i < plugin_info->argc; ++i)
{
@@ -319,22 +316,22 @@ plugin_init (plugin_name_args* plugin_info, plugin_gcc_version*)
opt += a.key;
argv_str.push_back (opt);
- argv.push_back (const_cast<char*> (argv_str.back ().c_str ()));
if (!v.empty ())
- {
argv_str.push_back (v);
- argv.push_back (const_cast<char*> (argv_str.back ().c_str ()));
- }
}
+ vector<char*> argv;
+ for (strings::iterator i (argv_str.begin ()); i != argv_str.end (); ++i)
+ argv.push_back (const_cast<char*> (i->c_str ()));
+
+ int argc (static_cast<int> (argv.size ()));
+
if (inputs_.empty ())
inputs_.push_back (file_);
// Two-phase options parsing, similar to the driver.
//
- int argc (static_cast<int> (argv.size ()));
-
cli::argv_file_scanner::option_info oi[3];
oi[0].option = "--options-file";
oi[0].search_func = 0;