svn commit: r268741 - stable/10/lib/libc/gen

Konstantin Belousov kib at FreeBSD.org
Wed Jul 16 08:52:44 UTC 2014


Author: kib
Date: Wed Jul 16 08:52:44 2014
New Revision: 268741
URL: http://svnweb.freebsd.org/changeset/base/268741

Log:
  MFC r268467:
  Implement sysconf(_SC_GETGR_R_SIZE_MAX) and sysconf(_SC_GETPW_R_SIZE_MAX).

Modified:
  stable/10/lib/libc/gen/sysconf.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libc/gen/sysconf.c
==============================================================================
--- stable/10/lib/libc/gen/sysconf.c	Wed Jul 16 06:25:44 2014	(r268740)
+++ stable/10/lib/libc/gen/sysconf.c	Wed Jul 16 08:52:44 2014	(r268741)
@@ -367,11 +367,17 @@ yesno:
 		 * _POSIX_FILE_LOCKING, so we can't answer this one.
 		 */
 #endif
-#if _POSIX_THREAD_SAFE_FUNCTIONS > -1
+
+	/*
+	 * SUSv4tc1 says the following about _SC_GETGR_R_SIZE_MAX and
+	 * _SC_GETPW_R_SIZE_MAX:
+	 * Note that sysconf(_SC_GETGR_R_SIZE_MAX) may return -1 if
+	 * there is no hard limit on the size of the buffer needed to
+	 * store all the groups returned.
+	 */
 	case _SC_GETGR_R_SIZE_MAX:
 	case _SC_GETPW_R_SIZE_MAX:
-#error "somebody needs to implement this"
-#endif
+		return (-1);
 	case _SC_HOST_NAME_MAX:
 		return (MAXHOSTNAMELEN - 1); /* does not include \0 */
 	case _SC_LOGIN_NAME_MAX:


More information about the svn-src-all mailing list