Am 24.12.2016 um 08:40 schrieb John Fawcett:
> On 12/24/2016 01:19 AM, Wietse Venema wrote:
>> John Fawcett:
>>>>> "On success, *getpwnam_r*() and *getpwuid_r*() return zero, and set
>>>>> /*result/ to /pwd/. If no matching password record was found, these
>>>>> functions return 0 and store NULL in /*result/. In case of error, an
>>>>> error number is returned, and NULL is stored in /*result/. "
>> A zero result value mans that no error occurred; we know for certain
>> that the user exists or does not exist.
>>
>> That's almost consistent with, for example, the XOPEN standard: \
>>
>>     The getpwnam_r() function shall return zero on success or if
>>     the requested entry was not found AND NO ERROR HAS OCCURRED.
>>     If an error has occurred, an error number shall be returned to
>>     indicate the error.
>>
>> What bugs me is the text that follows later in that same Linux
>> manpage:
>>
>> ERRORS
>>
>>        0 or ENOENT or ESRCH or EBADF or EPERM or ...
>>               The given name or uid was not found.
>>
>> This text makes no sense. It is in conflict with XOPEN, and with
>> the other quote from the Linux manpage.
>>
>>      Wietse
>>
> Yes, at first I read the text under ERRORS as though it was part of the
> standard, but then I realized that it is just stating what some
> implementations do in practice (which is what makes no sense).
> 
> John

very interesting ideed. i took it to the arch mailing list [0], maybe we
dig up there what changed recently with the glibc behaviour.
atm the mailing list is on chrismas hibernation but that might change at
some point.
thank you a lot for your help and information and have a nice christmas!

georg

Reply via email to