if (info == NULL) { info = __pwdalloc(); if (info == NULL) return(NULL); }  stream = __pwdopen(); if (stream == NULL) return(NULL);  while ((p = __pwdread(stream, info)) != NULL) if (p->pw_uid == uid) break;  (void) fclose(stream); return(p);
return __pwdscan (&info, &match);
DEFUN(getpwuid, (uid), register uid_t uid){  static PTR info;  register FILE *stream;  register struct passwd *p;  if (info == NULL)    {      info = __pwdalloc();      if (info == NULL)	return(NULL);    }  stream = __pwdopen();  if (stream == NULL)    return(NULL);  while ((p = __pwdread(stream, info)) != NULL)    if (p->pw_uid == uid)      break;  (void) fclose(stream);  return(p);}