diff options
Diffstat (limited to 'src/filewriter/filewriter.cc')
-rw-r--r-- | src/filewriter/filewriter.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/filewriter/filewriter.cc b/src/filewriter/filewriter.cc index 9540d12..f872cdf 100644 --- a/src/filewriter/filewriter.cc +++ b/src/filewriter/filewriter.cc @@ -236,11 +236,11 @@ static StringBuf format_filename (const char * suffix) if (save_original) { g_return_val_if_fail (base, StringBuf ()); - filename.insert (0, in_filename, base - in_filename); + filename = str_copy (in_filename, base - in_filename); } else { - filename.steal (get_file_path ()); + filename = get_file_path (); if (filename[filename.len () - 1] != '/') filename.insert (-1, "/"); } @@ -249,7 +249,7 @@ static StringBuf format_filename (const char * suffix) { int number = in_tuple.get_int (Tuple::Track); if (number >= 0) - filename.combine (str_printf ("%d%%20", number)); + str_append_printf (filename, "%d%%20", number); } if (aud_get_bool ("filewriter", "filenamefromtags")) @@ -274,8 +274,7 @@ static StringBuf format_filename (const char * suffix) } /* URI-encode */ - buf.steal (str_encode_percent (buf)); - filename.combine (std::move (buf)); + filename.insert (-1, str_encode_percent (buf)); } else { @@ -289,7 +288,7 @@ static StringBuf format_filename (const char * suffix) } filename.insert (-1, suffix); - return filename; + return filename.settle (); } bool FileWriter::open_audio (int fmt, int rate, int nch, String & error) |