C++ string manipulation is a fragile bolt-on onto the type system.
"-" + 'd'
evaluates to a pointer 100 bytes after a constant string "-" in the data
section. This fixes this bug, and also changes the fixed message from
lilypond: option `-d, `--define-default'' requires an argument
to
lilypond: option `-d, --define-default' requires an argument
In general, it does not appear to make sense quoting the long options
while not quoting the short options.
{
string str;
if (shortname_char_)
- str += "-" + shortname_char_;
+ str += string ("-") + shortname_char_;
if (shortname_char_ && longname_str0_)
str += ", ";
if (longname_str0_)
- str += string ("`--") + longname_str0_ + "'";
+ str += string ("--") + longname_str0_;
return str;
}