Dear list members,

I am in need to write a simple program to return the passwd entry for a
given uid number.

Here you have it:

#include <sys/types.h>
#include <errno.h>
#include <pwd.h>
#include <stdio.h>

int
main(int argc, char **argv)
{
        struct passwd   *p;
        int             e;

        e = errno, errno = 0;
        p = getpwuid(0);
        if (errno) {
                fprintf(stdout, "errno is: %u\n", errno);
                return 127;
        }
        errno = e;

        fprintf(stdout, "%s\n", p->pw_name);
        return 0;
}


When i execute it i get this on a openbsd:

sioux@lion$ ./pw
errno is: 13
sioux@lion$


Any ideia why openbsd implementation of getpwuid returns error ?

Thanks in advance.

Reply via email to