From da80f91e1c1a02abce17159ed303c7666d68bf14 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 7 Jan 2014 22:04:19 +0100 Subject: Directory: make some code generic, move to VarSize.hxx --- src/Directory.cxx | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/Directory.cxx') diff --git a/src/Directory.cxx b/src/Directory.cxx index 20fb44618..f9c1e2ba4 100644 --- a/src/Directory.cxx +++ b/src/Directory.cxx @@ -25,6 +25,7 @@ #include "SongSort.hxx" #include "Song.hxx" #include "fs/Traits.hxx" +#include "util/VarSize.hxx" #include "util/Error.hxx" extern "C" { @@ -42,14 +43,9 @@ Directory::Allocate(const char *path) { assert(path != nullptr); - const size_t path_size = strlen(path) + 1; - Directory *directory = - (Directory *)g_malloc(sizeof(*directory) - - sizeof(directory->path) - + path_size); - new(directory) Directory(path); - - return directory; + return NewVarSize(sizeof(Directory::path), + strlen(path) + 1, + path); } Directory::Directory() @@ -96,8 +92,7 @@ Directory::NewGeneric(const char *path, Directory *parent) void Directory::Free() { - this->Directory::~Directory(); - g_free(this); + DeleteVarSize(this); } void -- cgit v1.2.3