libbluray | branch: master | hpi1 <[email protected]> | Mon Apr 6 23:12:03 2015 +0300| [fec559f96075253344da148322f7c8a847533c70] | committer: hpi1
Fix File.getLength() for relative paths > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=fec559f96075253344da148322f7c8a847533c70 --- src/libbluray/bdj/java/java/io/BDFileSystem.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/libbluray/bdj/java/java/io/BDFileSystem.java b/src/libbluray/bdj/java/java/io/BDFileSystem.java index 508014e..0e1c07d 100644 --- a/src/libbluray/bdj/java/java/io/BDFileSystem.java +++ b/src/libbluray/bdj/java/java/io/BDFileSystem.java @@ -217,7 +217,20 @@ public abstract class BDFileSystem extends FileSystem { } public long getLength(File f) { - return fs.getLength(f); + if (f.isAbsolute()) { + return fs.getLength(f); + } + + /* try to locate file in Xlet home directory */ + String home = BDJXletContext.getCurrentXletHome(); + if (home == null) { + logger.error("no home found for " + f.getPath() + " at " + Logger.dumpStack()); + return 0; + } + + String path = home + f.getPath(); + logger.info("Relative path " + f.getPath() + " translated to " + path); + return fs.getLength(new File(path)); } /* _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
