aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/os/file_posix.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/os/file_posix.go')
-rw-r--r--libgo/go/os/file_posix.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgo/go/os/file_posix.go b/libgo/go/os/file_posix.go
index d817f34..6634112 100644
--- a/libgo/go/os/file_posix.go
+++ b/libgo/go/os/file_posix.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
package os
@@ -19,6 +19,10 @@ func Readlink(name string) (string, error) {
for len := 128; ; len *= 2 {
b := make([]byte, len)
n, e := fixCount(syscall.Readlink(fixLongPath(name), b))
+ // buffer too small
+ if e == syscall.ERANGE {
+ continue
+ }
if e != nil {
return "", &PathError{"readlink", name, e}
}