Skip to content
Snippets Groups Projects
Commit 964ccc1e authored by Florian Angerer's avatar Florian Angerer
Browse files

Fix: Rsrcref did not properly set mtime.

parent afe25ab5
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,6 @@ import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.StandardCopyOption;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.nio.file.attribute.PosixFileAttributes;
import java.util.ArrayList;
import java.util.Arrays;
......@@ -315,9 +314,9 @@ public class FileFunctions {
PosixFileAttributes pfa = Files.readAttributes(path, PosixFileAttributes.class);
size = pfa.size();
isdir = RRuntime.asLogical(pfa.isDirectory());
mtime = getTimeInSecs(pfa.lastModifiedTime());
ctime = getTimeInSecs(pfa.creationTime());
atime = getTimeInSecs(pfa.lastAccessTime());
mtime = Utils.getTimeInSecs(pfa.lastModifiedTime());
ctime = Utils.getTimeInSecs(pfa.creationTime());
atime = Utils.getTimeInSecs(pfa.lastAccessTime());
uname = pfa.owner().getName();
grname = pfa.group().getName();
mode = Utils.intFilePermissions(pfa.permissions());
......@@ -347,14 +346,6 @@ public class FileFunctions {
return RDataFactory.createList(data, NAMES_VECTOR);
}
private static int getTimeInSecs(Object fileTime) {
if (fileTime == null) {
return RRuntime.INT_NA;
} else {
return (int) ((FileTime) fileTime).toMillis() / 1000;
}
}
private static Object createColumnData(Column column, int vecLength) {
// @formatter:off
switch(column) {
......
......@@ -92,15 +92,13 @@ public class RSrcref {
return env;
}
private static double getTimestamp(Path path) {
double mtime;
private static int getTimestamp(Path path) {
try {
PosixFileAttributes pfa = Files.readAttributes(path, PosixFileAttributes.class);
mtime = pfa.lastModifiedTime().toMillis();
return Utils.getTimeInSecs(pfa.lastModifiedTime());
} catch (IOException ex) {
mtime = RRuntime.DOUBLE_NA;
return RRuntime.INT_NA;
}
return mtime;
}
/**
......
......@@ -30,6 +30,7 @@ import java.io.InputStreamReader;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.attribute.FileTime;
import java.nio.file.attribute.PosixFilePermission;
import java.util.Arrays;
import java.util.Set;
......@@ -718,4 +719,12 @@ public final class Utils {
}
return startingTempDir;
}
public static int getTimeInSecs(FileTime fileTime) {
if (fileTime == null) {
return RRuntime.INT_NA;
} else {
return (int) (fileTime.toMillis() / 1000);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment