jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
changeset 21290 db5e0cad1102
parent 13246 a54c4f70775c
child 21292 f55838e2d1e0
--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	Fri Oct 18 16:06:20 2013 +0400
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	Fri Oct 18 13:51:12 2013 +0100
@@ -42,16 +42,15 @@
 class SolarisUserDefinedFileAttributeView
     extends AbstractUserDefinedFileAttributeView
 {
+    private static final byte[] HERE = { '.' };
+
     private byte[] nameAsBytes(UnixPath file, String name) throws IOException {
-        byte[] bytes = name.getBytes();
+        byte[] bytes = Util.toBytes(name);
         //  "", "." and ".." not allowed
-        if (bytes.length == 0 || bytes[0] == '.') {
-            if (bytes.length <= 1 ||
-                (bytes.length == 2 && bytes[1] == '.'))
-            {
-                throw new FileSystemException(file.getPathForExceptionMessage(),
-                    null, "'" + name + "' is not a valid name");
-            }
+        if ((bytes.length == 0 || bytes[0] == '.') &&
+            ((bytes.length <= 1 || (bytes.length == 2 && bytes[1] == '.')) {
+            throw new FileSystemException(file.getPathForExceptionMessage(),
+                null, "'" + name + "' is not a valid name");
         }
         return bytes;
     }
@@ -73,7 +72,7 @@
         try {
             try {
                 // open extended attribute directory
-                int dfd = openat(fd, ".".getBytes(), (O_RDONLY|O_XATTR), 0);
+                int dfd = openat(fd, HERE, (O_RDONLY|O_XATTR), 0);
                 long dp;
                 try {
                     dp = fdopendir(dfd);
@@ -87,7 +86,7 @@
                 try {
                     byte[] name;
                     while ((name = readdir(dp)) != null) {
-                        String s = new String(name);
+                        String s = Util.toString(name);
                         if (!s.equals(".") && !s.equals(".."))
                             list.add(s);
                     }
@@ -217,7 +216,7 @@
 
         int fd = file.openForAttributeAccess(followLinks);
         try {
-            int dfd = openat(fd, ".".getBytes(), (O_RDONLY|O_XATTR), 0);
+            int dfd = openat(fd, HERE, (O_RDONLY|O_XATTR), 0);
             try {
                 unlinkat(dfd, nameAsBytes(file,name), 0);
             } finally {
@@ -243,7 +242,7 @@
     static void copyExtendedAttributes(int ofd, int nfd) {
         try {
             // open extended attribute directory
-            int dfd = openat(ofd, ".".getBytes(), (O_RDONLY|O_XATTR), 0);
+            int dfd = openat(ofd, HERE, (O_RDONLY|O_XATTR), 0);
             long dp = 0L;
             try {
                 dp = fdopendir(dfd);