- if ( read(fd, &old_ut, sizeof(struct utmp)) == sizeof(struct utmp)
- && ut->ut_host[0] == '\0'
- && old_ut.ut_host[0] != '\0'
- && strncmp(old_ut.ut_line, ut->ut_line, sizeof(ut->ut_line)) == 0
- && strncmp(old_ut.ut_name, ut->ut_name, sizeof(ut->ut_name)) == 0 )
+ if (atomicio(read, fd, &old_ut, sizeof(old_ut)) == sizeof(old_ut) &&
+ (ut->ut_host[0] == '\0') && (old_ut.ut_host[0] != '\0') &&
+ (strncmp(old_ut.ut_line, ut->ut_line, sizeof(ut->ut_line)) == 0) &&
+ (strncmp(old_ut.ut_name, ut->ut_name, sizeof(ut->ut_name)) == 0)) {