unix: Use syscall.SysctlRaw in Sysctl
Remove redundant code
Fixes golang/go#18053
Change-Id: Ic8a2b85819ce86e5ebf2cc6274c604fdb69a5495
Reviewed-on: https://go-review.googlesource.com/33612
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/unix/syscall_bsd.go b/unix/syscall_bsd.go
index e967176..ccb29c7 100644
--- a/unix/syscall_bsd.go
+++ b/unix/syscall_bsd.go
@@ -470,25 +470,11 @@
}
func SysctlArgs(name string, args ...int) (string, error) {
- mib, err := sysctlmib(name, args...)
+ buf, err := SysctlRaw(name, args...)
if err != nil {
return "", err
}
-
- // Find size.
- n := uintptr(0)
- if err := sysctl(mib, nil, &n, nil, 0); err != nil {
- return "", err
- }
- if n == 0 {
- return "", nil
- }
-
- // Read into buffer of that size.
- buf := make([]byte, n)
- if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {
- return "", err
- }
+ n := len(buf)
// Throw away terminating NUL.
if n > 0 && buf[n-1] == '\x00' {