]> Cypherpunks repositories - gostls13.git/commitdiff
implications of len spec change
authorRuss Cox <rsc@golang.org>
Fri, 2 Jul 2010 00:49:28 +0000 (17:49 -0700)
committerRuss Cox <rsc@golang.org>
Fri, 2 Jul 2010 00:49:28 +0000 (17:49 -0700)
R=r
CC=golang-dev
https://golang.org/cl/1712048

src/pkg/os/dir_darwin.go
src/pkg/os/dir_freebsd.go
src/pkg/os/dir_linux.go
src/pkg/os/dir_nacl.go
src/pkg/syscall/syscall_bsd.go
src/pkg/syscall/syscall_linux.go

index 7917daec6b992e90430cc40a47b02e47019fff31..f9f51221daeb78a08c54f13af24d045bab68d651 100644 (file)
@@ -58,7 +58,7 @@ func (file *File) Readdirnames(count int) (names []string, err Error) {
                        if dirent.Ino == 0 { // File absent in directory.
                                continue
                        }
-                       bytes := (*[len(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
+                       bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
                        var name = string(bytes[0:dirent.Namlen])
                        if name == "." || name == ".." { // Useless names
                                continue
index 7a0290ac6ae3fc3510ec8dd1b30a4accbb379b49..b32c474e6923ae812fcbdcd297e6aa9499f5f019 100644 (file)
@@ -53,7 +53,7 @@ func (file *File) Readdirnames(count int) (names []string, err Error) {
                        if dirent.Fileno == 0 { // File absent in directory.
                                continue
                        }
-                       bytes := (*[len(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
+                       bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
                        var name = string(bytes[0:dirent.Namlen])
                        if name == "." || name == ".." { // Useless names
                                continue
index 84f87007ed3efd839d9b2dac9428e3a924f15468..42cc88a8a7792dba1ac914433178ba4f497119a9 100644 (file)
@@ -56,7 +56,7 @@ func (file *File) Readdirnames(count int) (names []string, err Error) {
                        if dirent.Ino == 0 { // File absent in directory.
                                continue
                        }
-                       bytes := (*[len(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
+                       bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
                        var name = string(bytes[0:clen(bytes[0:])])
                        if name == "." || name == ".." { // Useless names
                                continue
index e693794f027ef508c3a6f9bf6ee3f234253c7959..e76b2bea09c8a0346be9c85024d9ba8a84021f21 100644 (file)
@@ -56,7 +56,7 @@ func (file *File) Readdirnames(count int) (names []string, err Error) {
                        if dirent.Ino == 0 { // File absent in directory.
                                continue
                        }
-                       bytes := (*[len(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
+                       bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
                        var name = string(bytes[0:clen(bytes)])
                        if name == "." || name == ".." { // Useless names
                                continue
index 14dfab1539f1ba5496da4ca3d1a454cb45e79d26..66be580e7d04eeb4380e787317a0d50b38c0a065 100644 (file)
@@ -239,8 +239,8 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, int) {
                                break
                        }
                }
-               bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))
-               sa.Name = string(bytes[0:n])
+               bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
+               sa.Name = string(bytes)
                return sa, 0
 
        case AF_INET:
index 2ce3c08828ae58fc087c4f74a4116b8e1e5570f4..8442d8485cb6af69b3a42c193e956fdb0fa6b946 100644 (file)
@@ -284,8 +284,8 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, int) {
                for n < len(pp.Path) && pp.Path[n] != 0 {
                        n++
                }
-               bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))
-               sa.Name = string(bytes[0:n])
+               bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
+               sa.Name = string(bytes)
                return sa, 0
 
        case AF_INET: