From d0c25c6b3e8120ea795c48c91ca3f7f1ab229c7e Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Fri, 8 Mar 2019 00:05:02 +0700 Subject: [PATCH] Make sure absolute paths work on Linux / Unix as well --- source/net/filebot/util/PlainFileXattrView.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/source/net/filebot/util/PlainFileXattrView.java b/source/net/filebot/util/PlainFileXattrView.java index ef5ae916..4a18c5ab 100644 --- a/source/net/filebot/util/PlainFileXattrView.java +++ b/source/net/filebot/util/PlainFileXattrView.java @@ -8,6 +8,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.nio.file.Path; +import java.nio.file.Paths; import java.nio.file.attribute.DosFileAttributeView; import java.util.List; @@ -15,11 +16,23 @@ public class PlainFileXattrView implements XattrView { private static final String XATTR_FOLDER = System.getProperty("net.filebot.xattr.store", ".xattr"); + private static Path getXattrFolder(Path f) { + Path xattrFolder = Paths.get(XATTR_FOLDER); + + // absolute xattr folder + if (xattrFolder.isAbsolute()) { + return xattrFolder; + } + + // xattr folder folder relative to the given file + return f.getParent().resolve(xattrFolder); + } + private final Path root; private final Path node; public PlainFileXattrView(Path path) throws IOException { - root = path.getParent().resolve(XATTR_FOLDER); + root = getXattrFolder(path); node = root.resolve(path.getFileName()); }