X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fpasswd%2Fgetgrent.c;h=4cbe1ebfeaebe970592b327c0e36e643f2e7fa02;hp=e9d25eba6397e4b819f0b3ecdb4e0d7b717ea75b;hb=bac03cdde1137c16b4c194e137310e2748661dcc;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/src/passwd/getgrent.c b/src/passwd/getgrent.c index e9d25eba..4cbe1ebf 100644 --- a/src/passwd/getgrent.c +++ b/src/passwd/getgrent.c @@ -23,17 +23,23 @@ struct group *getgrent() struct group *getgrgid(gid_t gid) { struct group *gr; + int errno_saved; setgrent(); while ((gr=getgrent()) && gr->gr_gid != gid); + errno_saved = errno; endgrent(); + errno = errno_saved; return gr; } struct group *getgrnam(const char *name) { struct group *gr; + int errno_saved; setgrent(); while ((gr=getgrent()) && strcmp(gr->gr_name, name)); + errno_saved = errno; endgrent(); + errno = errno_saved; return gr; }