io: read_fd should only report EOF on a zero-byte return value.

POSIX says that's the EOF indicator, not a non-zero a short read.
This commit is contained in:
Ryan C. Gordon
2025-09-10 11:45:08 -04:00
parent 4efdfd92a2
commit 4d6e0e0087

View File

@@ -431,7 +431,7 @@ static size_t SDLCALL fd_read(void *userdata, void *ptr, size_t size, SDL_IOStat
SDL_SetError("Error reading from datastream: %s", strerror(errno));
}
bytes = 0;
} else if (bytes < size) {
} else if (bytes == 0) {
*status = SDL_IO_STATUS_EOF;
}
return (size_t)bytes;