On Tue, May 7, 2013 at 02:19:05PM -0400, Alvaro Herrera wrote:
> Tom Lane wrote:
> > nicolas@marchildon.net writes:
>
> > > The man page says:
> >
> > > RETURN VALUE
> > > The getpwnam() and getpwuid() functions return a pointer to a
> > > passwd
> > > structure, or NULL if the matching entry is not found or an
> > > error
> > > occurs. If an error occurs, errno is set appropriately. If one
> > > wants
> > > to check errno after the call, it should be set to zero before
> > > the
> > > call.
> >
> > AFAICS, getpwuid is not honoring its specification here: it failed to
> > set errno. I don't see that suppressing the strerror result would add
> > anything much.
>
> Well, in this case no error occured, but no matching entry was found.
> The wording in the manpage is explicit that there not being an entry is
> not an error.
I have developed the attached patch to fix this and another instance I
saw.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +