if (read (file_fd, &last_entry, sizeof (struct utmp))
if (__read (file_fd, &last_entry, sizeof (struct utmp))
getutline_r_file (const struct utmp *line, struct utmp *buffer,		  struct utmp **result){  assert (file_fd >= 0);  if (file_offset == -1l)    {      *result = NULL;      return -1;    }  LOCK_FILE (file_fd, F_RDLCK);  while (1)    {      /* Read the next entry.  */      if (read (file_fd, &last_entry, sizeof (struct utmp))	  != sizeof (struct utmp))	{	  __set_errno (ESRCH);	  file_offset = -1l;	  *result = NULL;	  goto unlock_return;	}      file_offset += sizeof (struct utmp);      /* Stop if we found a user or login entry.  */      if (#if _HAVE_UT_TYPE - 0	  (last_entry.ut_type == USER_PROCESS	   || last_entry.ut_type == LOGIN_PROCESS)	  &&#endif	  !strncmp (line->ut_line, last_entry.ut_line, sizeof line->ut_line))	break;    }  memcpy (buffer, &last_entry, sizeof (struct utmp));  *result = buffer;unlock_return:  UNLOCK_FILE (file_fd);  return ((*result == NULL) ? -1 : 0);}