From eb87f600313f2d56a8708e5624b7bc7ec7acf1ff Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 26 Jan 2006 18:57:22 +0000 Subject: [PATCH] (Module): new file. --- ChangeLog | 4 ++++ flower/file-path.cc | 5 +++++ flower/string.cc | 1 + input/regression/alignment-vertical-manual-setting.ly | 2 ++ input/test/font-table.ly | 2 ++ lily/lexer.ll | 2 +- lily/main.cc | 2 +- lily/misc.cc | 4 ++-- lily/pango-font.cc | 10 +++++++--- lily/program-option.cc | 2 +- lily/source-file.cc | 2 +- 11 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3c4f9c46c0..33acfab141 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-01-26 Han-Wen Nienhuys + * lily/*.cc: various fixes for substr(ARG). + + * lily/sustain-pedal.cc (print): + * flower/file-name.cc (slashify): use std strings. * flower/string-convert.cc: remove publib.h diff --git a/flower/file-path.cc b/flower/file-path.cc index bf3f921aac..ff35abfaec 100644 --- a/flower/file-path.cc +++ b/flower/file-path.cc @@ -37,6 +37,11 @@ File_path::directories () const return dirs_; } +/* + TODO: use split_string. + + */ + #include void File_path::parse_path (std::string p) diff --git a/flower/string.cc b/flower/string.cc index 47cf6f11f2..e210ea2173 100644 --- a/flower/string.cc +++ b/flower/string.cc @@ -420,3 +420,4 @@ String::substitute (char find, char replace) } #endif /* !STD_STRING */ + diff --git a/input/regression/alignment-vertical-manual-setting.ly b/input/regression/alignment-vertical-manual-setting.ly index 17c332a18e..dc51ba16cf 100644 --- a/input/regression/alignment-vertical-manual-setting.ly +++ b/input/regression/alignment-vertical-manual-setting.ly @@ -6,6 +6,8 @@ } +\version "2.7.29" + \book { \score { \relative c'' \new StaffGroup << diff --git a/input/test/font-table.ly b/input/test/font-table.ly index 6bb5ef83a2..7c1be04a01 100644 --- a/input/test/font-table.ly +++ b/input/test/font-table.ly @@ -9,6 +9,8 @@ evenFooterMarkup = \markup {} } +\version "2.7.29" + #(define (doc-char name) (make-line-markup (list diff --git a/lily/lexer.ll b/lily/lexer.ll index 0a4db93461..11ed6df0c6 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -855,7 +855,7 @@ scan_fraction (std::string frac) { ssize i = frac.find ('/'); std::string left = frac.substr (0, i); - std::string right = frac.substr (i - 1); + std::string right = frac.substr (i + 1, (frac.length () - i + 1)); int n = String_convert::dec2int (left); int d = String_convert::dec2int (right); diff --git a/lily/main.cc b/lily/main.cc index 15a7d6f742..3ea52240a6 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -503,7 +503,7 @@ parse_argv (int argc, char **argv) if (eq != NPOS) { key = arg.substr (0, eq); - val = arg.substr (eq + 1); + val = arg.substr (eq + 1, key.length () - 1); } init_scheme_variables diff --git a/lily/misc.cc b/lily/misc.cc index 607cbe9953..ee5dd51fda 100644 --- a/lily/misc.cc +++ b/lily/misc.cc @@ -45,7 +45,7 @@ split_string (std::string s, char c) if (i == 0) { - s = s.substr (1); + s = s.substr (1, s.length () -1); continue; } @@ -53,7 +53,7 @@ split_string (std::string s, char c) i = s.length (); rv.push (s.substr (0, i)); - s = s.substr (i); + s = s.substr (i, s.length () - i); } return rv; diff --git a/lily/pango-font.cc b/lily/pango-font.cc index da0f1022d2..674ed68724 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -173,11 +173,15 @@ Pango_font::pango_item_string_stencil (PangoItem const *item, std::string str) c ssize slash_idx = name.rfind ('/'); if (slash_idx != NPOS) - name = name.substr (slash_idx - 1); - + { + slash_idx ++; + name = name.substr (slash_idx, + name.length () - slash_idx); + } + std::string initial = name.substr (0, 1); initial = String_convert::to_upper (initial); - name = name.substr (1); + name = name.substr (1, name.length () - 1); name = String_convert::to_lower (name); ps_name = initial + name; } diff --git a/lily/program-option.cc b/lily/program-option.cc index 894f9d0db9..dc53b307ad 100644 --- a/lily/program-option.cc +++ b/lily/program-option.cc @@ -179,7 +179,7 @@ LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val), std::string varstr = ly_scm2string (scm_symbol_to_string (var)); if (varstr.substr (0, 3) == std::string ("no-")) { - var = ly_symbol2scm (varstr.substr (3).c_str ()); + var = ly_symbol2scm (varstr.substr (3, varstr.length () -3).c_str ()); val = scm_from_bool (!to_boolean (val)); } diff --git a/lily/source-file.cc b/lily/source-file.cc index c350248065..9d4a3db37a 100644 --- a/lily/source-file.cc +++ b/lily/source-file.cc @@ -174,7 +174,7 @@ Source_file::quote_input (char const *pos_str0) const std::string context = line.substr (0, ch) + to_string ('\n') + to_string (' ', col) - + line.substr (ch); + + line.substr (ch, line.length()-ch); return context; } -- 2.39.5