From: David Kastrup Date: Sun, 1 Jun 2014 14:30:04 +0000 (+0200) Subject: Issue 3925: lilypond -d leads to weird output X-Git-Tag: release/2.19.8-1~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6b2653e61912ebdf4391bcbee98fa87c30092523;p=lilypond.git Issue 3925: lilypond -d leads to weird output 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. --- diff --git a/flower/getopt-long.cc b/flower/getopt-long.cc index 458c2374ca..0d6da2c60e 100644 --- a/flower/getopt-long.cc +++ b/flower/getopt-long.cc @@ -103,11 +103,11 @@ Long_option_init::to_string () const { 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; }