aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/DataStores/DB2FileLoader.cpp5
-rw-r--r--src/common/DataStores/DB2FileLoader.h2
-rw-r--r--src/common/DataStores/DB2FileSystemSource.cpp4
-rw-r--r--src/common/DataStores/DB2FileSystemSource.h2
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;