diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/DataStores/DB2FileLoader.cpp | 5 | ||||
-rw-r--r-- | src/common/DataStores/DB2FileLoader.h | 2 | ||||
-rw-r--r-- | src/common/DataStores/DB2FileSystemSource.cpp | 4 | ||||
-rw-r--r-- | src/common/DataStores/DB2FileSystemSource.h | 2 |
4 files changed, 7 insertions, 6 deletions
diff --git a/src/common/DataStores/DB2FileLoader.cpp b/src/common/DataStores/DB2FileLoader.cpp index d429195445b..d6138fa492e 100644 --- a/src/common/DataStores/DB2FileLoader.cpp +++ b/src/common/DataStores/DB2FileLoader.cpp @@ -1657,7 +1657,8 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo) { DB2SectionHeader const& section = _impl->GetSection(i); - source->SetPosition(section.FileOffset); + if (!source->SetPosition(section.FileOffset)) + return false; if (!_impl->LoadTableData(source, i)) return false; @@ -1710,7 +1711,7 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo) ASSERT(!loadInfo->Fields[0].IsSigned, "ID must be unsigned"); ++fieldIndex; } - for (uint32 f = 0; f < loadInfo->FieldCount; ++f) + for (uint32 f = 0; f < loadInfo->Meta->FieldCount; ++f) { ASSERT(loadInfo->Fields[fieldIndex].IsSigned == _impl->IsSignedField(f), "Mismatched field signedness for field %u (%s)", f, loadInfo->Fields[fieldIndex].Name); fieldIndex += loadInfo->Meta->Fields[f].ArraySize; diff --git a/src/common/DataStores/DB2FileLoader.h b/src/common/DataStores/DB2FileLoader.h index b1d42a2c954..7be5dc1aa39 100644 --- a/src/common/DataStores/DB2FileLoader.h +++ b/src/common/DataStores/DB2FileLoader.h @@ -88,7 +88,7 @@ struct TC_COMMON_API DB2FileSource // Returns current read position in file virtual std::size_t GetPosition() const = 0; - virtual void SetPosition(std::size_t position) = 0; + virtual bool SetPosition(std::size_t position) = 0; virtual std::size_t GetFileSize() const = 0; diff --git a/src/common/DataStores/DB2FileSystemSource.cpp b/src/common/DataStores/DB2FileSystemSource.cpp index b8a4e4258b6..9b929a8f5c9 100644 --- a/src/common/DataStores/DB2FileSystemSource.cpp +++ b/src/common/DataStores/DB2FileSystemSource.cpp @@ -45,9 +45,9 @@ std::size_t DB2FileSystemSource::GetPosition() const return ftell(_file); } -void DB2FileSystemSource::SetPosition(std::size_t position) +bool DB2FileSystemSource::SetPosition(std::size_t position) { - fseek(_file, position, SEEK_SET); + return fseek(_file, position, SEEK_SET) == 0; } std::size_t DB2FileSystemSource::GetFileSize() const diff --git a/src/common/DataStores/DB2FileSystemSource.h b/src/common/DataStores/DB2FileSystemSource.h index 94e4d3287b5..107aa2705fb 100644 --- a/src/common/DataStores/DB2FileSystemSource.h +++ b/src/common/DataStores/DB2FileSystemSource.h @@ -28,7 +28,7 @@ struct TC_COMMON_API DB2FileSystemSource : public DB2FileSource bool IsOpen() const override; bool Read(void* buffer, std::size_t numBytes) override; std::size_t GetPosition() const override; - void SetPosition(std::size_t position) override; + bool SetPosition(std::size_t position) override; std::size_t GetFileSize() const override; char const* GetFileName() const override; |