About sysconf(_SC_GETPW_R_SIZE_MAX)

Dmitry Sivachenko trtrmitya at gmail.com
Fri Jul 4 14:17:25 UTC 2014


On 04 июля 2014 г., at 17:00, Konstantin Belousov <kostikbel at gmail.com> wrote:

> On Fri, Jul 04, 2014 at 11:05:46AM +0400, Dmitry Sivachenko wrote:
>> Hello!
>> 
>> (FreeBSD-10/stable).
>> 
>> According to sysconf(3), _SC_GETPW_R_SIZE_MAX is the valid argument to sysconf():
>> 
>> _SC_GETPW_R_SIZE_MAX
>>             Suggested initial value for the size of the password entry
>>             buffer.
>> 
>> But the following test program fails:
>> 
>> #include <unistd.h>
>> #include <err.h>
>> #include <errno.h>
>> #include <stdio.h>
>> 
>> int main() {
>>  int buf_sz;
>> 
>>  errno=0;
>>  buf_sz = sysconf(_SC_GETPW_R_SIZE_MAX);
>>  printf("%d\n", buf_sz);
>>  warn("sysconf: ");
>>  return 0;
>> }
>> 
>> % ./a.out 
>> -1
>> a.out: sysconf: : Invalid argument
>> 
>> 
>> What is wrong?
> 
> From lib/libc/gen/sysconf.c, around line 327:
> #if _POSIX_THREAD_SAFE_FUNCTIONS > -1
> 	case _SC_GETGR_R_SIZE_MAX:
> 	case _SC_GETPW_R_SIZE_MAX:
> #error "somebody needs to implement this"
> #endif


May be remove these two from man page?


More information about the freebsd-standards mailing list