cmake: Check for getgrgid_r Solaris version.
authorAndreas Schneider <asn@cryptomilk.org>
Fri, 19 Jul 2013 13:23:47 +0000 (15:23 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 19 Jul 2013 13:23:47 +0000 (15:23 +0200)
ConfigureChecks.cmake
config.h.cmake
src/nss_wrapper.c

index 9c8592e60456003a33ed5109e926e478b858f34a..057cdd97df9b5b86e0ff0d908dc23e6db75f2c01 100644 (file)
@@ -122,6 +122,12 @@ check_prototype_definition(getgrnam_r
     "unistd.h;grp.h"
     HAVE_SOLARIS_GETGRNAM_R)
 
+check_prototype_definition(getgrgid_r
+    "int getgrnam_r(gid_t gid, struct group *grp, char *buf, int buflen, struct group **pgrp)"
+    "-1"
+    "unistd.h;grp.h"
+    HAVE_SOLARIS_GETGRGID_R)
+
 check_prototype_definition(sethostent
     "int sethostent(int stayopen)"
     "-1"
index 20b7efd25c9d7d8511318d5046612c9caeca4702..a675506acdea6cb5f1e0447a96d9ed0458d16405 100644 (file)
@@ -65,6 +65,7 @@
 #cmakedefine HAVE_SOLARIS_GETPWUID_R 1
 #cmakedefine HAVE_SOLARIS_GETGRENT_R 1
 #cmakedefine HAVE_SOLARIS_GETGRNAM_R 1
+#cmakedefine HAVE_SOLARIS_GETGRGID_R 1
 #cmakedefine HAVE_SOLARIS_SETHOSTENT 1
 #cmakedefine HAVE_SOLARIS_ENDHOSTENT 1
 #cmakedefine HAVE_SOLARIS_GETHOSTNAME 1
index 53788e149cb111e3b1f0f770513636cfc39e6461..2ff29266fd7255b24862c2d01233ca471c932f9b 100644 (file)
@@ -2853,8 +2853,13 @@ static int nwrap_getgrgid_r(gid_t gid, struct group *grdst,
 }
 
 #ifdef HAVE_GETGRGID_R
+# ifdef HAVE_SOLARIS_GETGRGID_R
+int getgrgid_r(gid_t gid, struct group *grdst,
+              char *buf, int buflen, struct group **grdstp)
+# else /* HAVE_SOLARIS_GETGRGID_R */
 int getgrgid_r(gid_t gid, struct group *grdst,
               char *buf, size_t buflen, struct group **grdstp)
+# endif /* HAVE_SOLARIS_GETGRGID_R */
 {
        if (!nwrap_enabled()) {
                return nwrap_main_global->libc->fns->_libc_getgrgid_r(gid,