X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flily-guile.cc;h=e1a0e9bffdc059fde75766d07b559dff3393bd2e;hb=e2f349394e0fc16f713529b297778478ac816e4b;hp=e44e47f4be27f6f30b64817b760191a678e4441f;hpb=459d4d5eaa90373349eb0461af7b6e3cdfd56981;p=lilypond.git diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index e44e47f4be..e1a0e9bffd 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -105,10 +105,8 @@ gulp_file_to_string (string fn, bool must_exist, int size) if (be_verbose_global) progress_indication ("[" + s); - int n = size; - char *str = gulp_file (s, &n); - string result (str, n); - delete[] str; + vector chars = gulp_file (s, size); + string result (&chars[0], chars.size ()); if (be_verbose_global) progress_indication ("]"); @@ -131,7 +129,7 @@ ly_scm2string (SCM str) { assert (scm_is_string (str)); return string (scm_i_string_chars (str), - (int) scm_i_string_length (str)); + (int) scm_i_string_length (str)); } char * @@ -655,6 +653,14 @@ robust_scm2offset (SCM k, Offset o) return o; } +string +robust_scm2string (SCM k, string s) +{ + if (scm_is_string (k)) + s = ly_scm2string (k); + return s; +} + int robust_scm2int (SCM k, int o) { @@ -742,3 +748,4 @@ mangle_cxx_identifier (string cxx_id) cxx_id = replace_all (cxx_id, '_', '-'); return cxx_id; } +