]> Cypherpunks repositories - gostls13.git/commitdiff
os/user: wrap getgrnam_r to fix type issues
authorRoss Light <light@google.com>
Thu, 31 Mar 2016 21:57:49 +0000 (14:57 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 6 Apr 2016 15:49:15 +0000 (15:49 +0000)
Even with -D_POSIX_PTHREAD_SEMANTICS, Solaris seems to not define
getgrnam_r in a POSIX compatible way.

Fixes #14967

Change-Id: I78cb7e5b30b2d8b860e336060a0a06f4720c0475
Reviewed-on: https://go-review.googlesource.com/21385
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/os/user/lookup_unix.go

index 97b649cdad63c1e33b8dfcdf84f41560d1fdf0c7..58ecf324057a9817adf92753ab667df16f37d380 100644 (file)
@@ -37,6 +37,11 @@ static int mygetgrgid_r(int gid, struct group *grp,
        char *buf, size_t buflen, struct group **result) {
  return getgrgid_r(gid, grp, buf, buflen, result);
 }
+
+static int mygetgrnam_r(const char *name, struct group *grp,
+       char *buf, size_t buflen, struct group **result) {
+ return getgrnam_r(name, grp, buf, buflen, result);
+}
 */
 import "C"
 
@@ -139,7 +144,7 @@ func lookupGroup(groupname string) (*Group, error) {
        defer C.free(unsafe.Pointer(cname))
 
        err := retryWithBuffer(buf, func() syscall.Errno {
-               return syscall.Errno(C.getgrnam_r(cname,
+               return syscall.Errno(C.mygetgrnam_r(cname,
                        &grp,
                        (*C.char)(buf.ptr),
                        C.size_t(buf.size),