if (read (file_fd, buffer, sizeof (struct utmp))
if (__read (file_fd, buffer, sizeof (struct utmp))
internal_getut_r (const struct utmp *id, struct utmp *buffer){  int result = -1;  LOCK_FILE (file_fd, F_RDLCK);#if _HAVE_UT_TYPE - 0  if (id->ut_type == RUN_LVL || id->ut_type == BOOT_TIME      || id->ut_type == OLD_TIME || id->ut_type == NEW_TIME)    {      /* Search for next entry with type RUN_LVL, BOOT_TIME,	 OLD_TIME, or NEW_TIME.  */      while (1)	{	  /* Read the next entry.  */	  if (read (file_fd, buffer, sizeof (struct utmp))	      != sizeof (struct utmp))	    {	      __set_errno (ESRCH);	      file_offset = -1l;	      goto unlock_return;	    }	  file_offset += sizeof (struct utmp);	  if (id->ut_type == buffer->ut_type)	    break;	}    }  else#endif /* _HAVE_UT_TYPE */    {      /* Search for the next entry with the specified ID and with type	 INIT_PROCESS, LOGIN_PROCESS, USER_PROCESS, or DEAD_PROCESS.  */      while (1)	{	  /* Read the next entry.  */	  if (read (file_fd, buffer, sizeof (struct utmp))	      != sizeof (struct utmp))	    {	      __set_errno (ESRCH);	      file_offset = -1l;	      goto unlock_return;	    }	  file_offset += sizeof (struct utmp);	  if (proc_utmp_eq (buffer, id))	    break;	}    }  result = 0;unlock_return:  UNLOCK_FILE (file_fd);  return result;}