static PTR info; register FILE *stream; register struct passwd *p;
int match (struct passwd *p) { return p->pw_uid == uid; } static void *info;
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);}