|
Boost Users : |
From: sj_at_[hidden]
Date: 2007-12-03 14:58:35
Hello,
When I try to output options_description to cout (response to --help
option, to show all available options) I get an assertion in in xstring
header file. It's caused by execution format_paragraph function in
option_description.cpp line 381. I narrowed down the problem to the
length of the description for an option. This is the code:
#include <boost/program_options.hpp>
namespace po = boost::program_options;
int main(int argc, char **argv){
po::options_description desc("t");
desc.add_options()("h",
"1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZ");
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
if(vm.count("h")){std::cout<<desc<<"\n"; return 1;}
return 0;
}
If I remove last Z in the description of h parameter the program works,
otherwise it crashes. If I replace the message with some words, meaning
if spaces are present, it still crashes (that's how I originally
discovered the problem). What am I doing wrong, or how can I avoid this
situation (other than decreasing the length of the descriptions for all
of my parameters).
I'm using boost 1.33.1 (how can I find out what was done to
program_options in 1.34.1?) and Microsoft Visual Studio 2005
Professional. The project is compiled as Multi-threaded DLL
Thanks.
-- Regards, Alexander. http://sjcomp.com
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