Let we allow to seek empty buffer when read blob 94/291594/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Wed, 19 Apr 2023 03:17:43 +0000 (12:17 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 19 Apr 2023 03:45:16 +0000 (12:45 +0900)
The model can "skip" non-meanful data at end of blob.
Let we allow to read that case.

Change-Id: Id98f6bbb788b3f542ee543f20b16c6982c2a7f68
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-scene3d/public-api/loader/mesh-definition.cpp

index f7c606e..a485e97 100644 (file)
@@ -90,11 +90,11 @@ bool ReadBlob(const MeshDefinition::Blob& descriptor, std::istream& source, uint
       uint32_t       readSize  = 0;
       uint32_t       totalSize = (descriptor.mLength / descriptor.mElementSizeHint) * descriptor.mStride;
       while(readSize < totalSize &&
-            source.read(reinterpret_cast<char*>(target), descriptor.mElementSizeHint) &&
-            source.seekg(diff, std::istream::cur))
+            source.read(reinterpret_cast<char*>(target), descriptor.mElementSizeHint))
       {
         readSize += descriptor.mStride;
         target += descriptor.mElementSizeHint;
+        source.seekg(diff, std::istream::cur);
       }
       return readSize == totalSize;
     }