From 6b2653e61912ebdf4391bcbee98fa87c30092523 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sun, 1 Jun 2014 16:30:04 +0200 Subject: [PATCH] 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. --- flower/getopt-long.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 2.39.5