src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
Print this page
*** 25,34 ****
--- 25,35 ----
package sun.nio.fs;
import java.nio.file.attribute.*;
import java.util.Map;
+ import java.util.Set;
import java.io.IOException;
import sun.misc.Unsafe;
import static sun.nio.fs.UnixNativeDispatcher.*;
import static sun.nio.fs.UnixConstants.*;
*** 55,64 ****
--- 56,69 ----
private static final int DOS_XATTR_READONLY = 0x01;
private static final int DOS_XATTR_HIDDEN = 0x02;
private static final int DOS_XATTR_SYSTEM = 0x04;
private static final int DOS_XATTR_ARCHIVE = 0x20;
+ // the names of the DOS attributes (includes basic)
+ private static final Set<String> dosAttributeNames =
+ Util.newSet(basicAttributeNames, READONLY_NAME, ARCHIVE_NAME, SYSTEM_NAME, HIDDEN_NAME);
+
LinuxDosFileAttributeView(UnixPath file, boolean followLinks) {
super(file, followLinks);
}
@Override
*** 91,103 ****
@Override
public Map<String,Object> readAttributes(String[] attributes)
throws IOException
{
! AttributesBuilder builder = AttributesBuilder.create(attributes);
DosFileAttributes attrs = readAttributes();
! addBasicAttributesToBuilder(attrs, builder);
if (builder.match(READONLY_NAME))
builder.add(READONLY_NAME, attrs.isReadOnly());
if (builder.match(ARCHIVE_NAME))
builder.add(ARCHIVE_NAME, attrs.isArchive());
if (builder.match(SYSTEM_NAME))
--- 96,109 ----
@Override
public Map<String,Object> readAttributes(String[] attributes)
throws IOException
{
! AttributesBuilder builder =
! AttributesBuilder.create(dosAttributeNames, attributes);
DosFileAttributes attrs = readAttributes();
! addRequestedBasicAttributes(attrs, builder);
if (builder.match(READONLY_NAME))
builder.add(READONLY_NAME, attrs.isReadOnly());
if (builder.match(ARCHIVE_NAME))
builder.add(ARCHIVE_NAME, attrs.isArchive());
if (builder.match(SYSTEM_NAME))