DecoderPlugin: free the container_scan() return value with delete[]

This commit is contained in:
Max Kellermann 2014-02-24 19:38:30 +01:00
parent 6ba1fe7568
commit 25431f32a2
3 changed files with 5 additions and 7 deletions

View File

@ -34,8 +34,6 @@
#include <sys/stat.h>
#include <glib.h>
Directory *
UpdateWalk::MakeDirectoryIfModified(Directory &parent, const char *name,
const FileInfo &info)
@ -120,7 +118,7 @@ UpdateWalk::UpdateContainerFile(Directory &directory,
FormatDefault(update_domain, "added %s/%s",
directory.GetPath(), vtrack);
g_free(vtrack);
delete[] vtrack;
}
if (tnum == 1) {

View File

@ -95,6 +95,8 @@ struct DecoderPlugin {
* @return nullptr if there are no multiple files
* a filename for every single track according to tnum (param 2)
* do not include full pathname here, just the "virtual" file
*
* Free the return value with delete[].
*/
char* (*container_scan)(Path path_fs, const unsigned int tnum);

View File

@ -22,7 +22,7 @@
#include "../DecoderAPI.hxx"
#include "tag/TagHandler.hxx"
#include "fs/Path.hxx"
#include "util/Alloc.hxx"
#include "util/FormatString.hxx"
#include "util/Domain.hxx"
#include "system/ByteOrder.hxx"
#include "Log.hxx"
@ -406,9 +406,7 @@ sidplay_container_scan(Path path_fs, const unsigned int tnum)
/* Construct container/tune path names, eg.
Delta.sid/tune_001.sid */
if(tnum<=info.songs) {
char *subtune= g_strdup_printf(
SUBTUNE_PREFIX "%03u.sid", tnum);
return subtune;
return FormatNew(SUBTUNE_PREFIX "%03u.sid", tnum);
} else
return nullptr;
}