The prototype I gave for initgroups() which was documented in the AIX 4.1 info
authorDan Harkless <dan@harkless.org>
Tue, 25 Jan 2000 07:45:10 +0000 (07:45 +0000)
committerDan Harkless <dan@harkless.org>
Tue, 25 Jan 2000 07:45:10 +0000 (07:45 +0000)
page conflicted with the real one that comes from grp.h on Solaris 2.6.
Adjusted it so the local prototype is correct on both (hopefully all)
platforms.  Also added an include of <unistd.h>, which is where initgroups()
lives on HP-UX 10.20.

uip/slocal.c

index dce9663..e5f35c0 100644 (file)
 #include <signal.h>
 #include <sys/ioctl.h>
 #include <fcntl.h>
-#include <grp.h>
+
+#include <grp.h>     /* initgroups() is here on Solaris 2.6 */
+#include <unistd.h>  /* initgroups() is here on HP-UX 10.20 */
+
+/* On AIX 4.1, initgroups() is defined and even documented (giving the parameter
+   types as "char*" and "int"), but doesn't have a prototype in any of the
+   system header files.  On other OSes, this should be a duplicate prototype
+   that won't cause any errors or warnings. */
+extern int  initgroups(const char*, gid_t);
 
 #ifdef HAVE_DB1_NDBM_H
 #include <db1/ndbm.h>
@@ -38,8 +46,6 @@
 
 #include <utmp.h>
 
-extern int  initgroups(char*, int);  /* def'd in libc.a but no .h on AIX 4.1 */
-
 #ifndef UTMP_FILE
 # ifdef _PATH_UTMP
 #  define UTMP_FILE _PATH_UTMP