archive/Lookup: return AllocatedPath

This commit is contained in:
Max Kellermann 2019-06-15 13:54:41 +02:00
parent 476647bfa0
commit 17f207ffd1
3 changed files with 5 additions and 7 deletions

View File

@ -53,7 +53,7 @@ archive_lookup(PathTraitsFS::pointer_type pathname)
//its a file ?
if (file_info.IsRegular()) {
//so the upper should be file
return {Path::FromFS(pathname), Path::FromFS(slash + 1)};
return {AllocatedPath::FromFS(pathname), AllocatedPath::FromFS(slash + 1)};
} else {
return {};
}

View File

@ -20,13 +20,13 @@
#ifndef MPD_ARCHIVE_LOOKUP_HXX
#define MPD_ARCHIVE_LOOKUP_HXX
#include "fs/Path.hxx"
#include "fs/AllocatedPath.hxx"
struct ArchiveLookupResult {
Path archive = nullptr;
Path inside = nullptr;
AllocatedPath archive = nullptr;
AllocatedPath inside = nullptr;
constexpr operator bool() const noexcept {
operator bool() const noexcept {
return !archive.IsNull();
}
};

View File

@ -29,7 +29,6 @@ TEST(ArchiveTest, Lookup)
path = strdup("dummy/foo/bar");
auto result = archive_lookup(path);
EXPECT_TRUE(result);
EXPECT_EQ((const char *)path, result.archive.c_str());
EXPECT_STREQ(result.archive.c_str(), "dummy");
EXPECT_STREQ(result.inside.c_str(), "foo/bar");
free(path);
@ -37,7 +36,6 @@ TEST(ArchiveTest, Lookup)
path = strdup("config.h/foo/bar");
result = archive_lookup(path);
EXPECT_TRUE(result);
EXPECT_EQ((const char *)path, result.archive.c_str());
EXPECT_STREQ(result.archive.c_str(), "config.h");
EXPECT_STREQ(result.inside.c_str(), "foo/bar");
free(path);