int main(int argc, const char **argv)
{
- vector<const char*> args;
- argv_to_vec(argc, argv, args);
+ auto args = argv_to_vec(argc, argv);
if (args.empty()) {
cerr << argv[0] << ": -h or --help for usage" << std::endl;
exit(1);
args.insert(args.end(), argv + 1, argv + argc);
}
+std::vector<const char*> argv_to_vec(int argc, const char** argv)
+{
+ assert(argc > 0);
+ return {argv + 1, argv + argc};
+}
+
void vec_to_argv(const char *argv0, std::vector<const char*>& args,
int *argc, const char ***argv)
{
extern void env_to_vec(std::vector<const char*>& args, const char *name=NULL);
extern void argv_to_vec(int argc, const char **argv,
std::vector<const char*>& args);
+extern std::vector<const char*> argv_to_vec(int argc, const char** argv);
extern void vec_to_argv(const char *argv0, std::vector<const char*>& args,
int *argc, const char ***argv);