|
Boost Users : |
From: Peter Gerell (boost_at_[hidden])
Date: 2006-01-31 03:29:22
Hi,
I believe the example found in example/response_file.cpp and referenced in
the documentation has a bug.
In the following code fragment a temporary string object is passed as the
first argument to the tokenizer constructor.
This string is destroyed before the iteration over the tokens start.
/Peter
if (vm.count("response-file")) {
// Load the file and tokenize it
ifstream ifs(vm["response-file"].as<string>().c_str());
if (!ifs) {
cout << "Could not open the response file\n";
return 1;
}
// Read the whole file into a string
stringstream ss;
ss << ifs.rdbuf();
// Split the file content
char_separator<char> sep(" \n\r");
tokenizer<char_separator<char> > tok(ss.str(), sep);
vector<string> args;
copy(tok.begin(), tok.end(), back_inserter(args));
// Parse the file and store the options
store(command_line_parser(args).options(desc).run(), vm);
}
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net