mirror of https://github.com/godotengine/godot
Fix the EOF detection logic on Android
The current logic was causing loading to omit the last character because the EOF flag was triggered too early.
This commit is contained in:
parent
53be3b78d1
commit
2cfe31f9a1
|
|
@ -138,7 +138,6 @@ internal class AssetData(context: Context, private val filePath: String, accessF
|
|||
0
|
||||
} else {
|
||||
position += readBytes
|
||||
endOfFile = position() >= size()
|
||||
readBytes
|
||||
}
|
||||
} catch (e: IOException) {
|
||||
|
|
|
|||
|
|
@ -216,7 +216,6 @@ internal abstract class DataAccess {
|
|||
override fun seek(position: Long) {
|
||||
try {
|
||||
fileChannel.position(position)
|
||||
endOfFile = position >= fileChannel.size()
|
||||
} catch (e: Exception) {
|
||||
Log.w(TAG, "Exception when seeking file $filePath.", e)
|
||||
}
|
||||
|
|
@ -260,8 +259,8 @@ internal abstract class DataAccess {
|
|||
override fun read(buffer: ByteBuffer): Int {
|
||||
return try {
|
||||
val readBytes = fileChannel.read(buffer)
|
||||
endOfFile = readBytes == -1 || (fileChannel.position() >= fileChannel.size())
|
||||
if (readBytes == -1) {
|
||||
endOfFile = true
|
||||
0
|
||||
} else {
|
||||
readBytes
|
||||
|
|
|
|||
Loading…
Reference in New Issue