diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-01-31 19:25:51 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-05-20 23:48:24 +0200 |
| commit | 41ae38d94d627f1945dc1aed46837068b83ed654 (patch) | |
| tree | 8aa843933a46f6226329fe11670f8f6266ed8837 /src/server/shared | |
| parent | 5c2c9a684f1458da0cea1f3536622add77ef1324 (diff) | |
Core/DataStores: Updated dbc/db2 to 7.0.1.20914
Diffstat (limited to 'src/server/shared')
| -rw-r--r-- | src/server/shared/DataStores/DB2SparseStorageLoader.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/server/shared/DataStores/DB2SparseStorageLoader.cpp b/src/server/shared/DataStores/DB2SparseStorageLoader.cpp index 2e7e974cb5d..42914b4da17 100644 --- a/src/server/shared/DataStores/DB2SparseStorageLoader.cpp +++ b/src/server/shared/DataStores/DB2SparseStorageLoader.cpp @@ -390,7 +390,7 @@ char* DB2SparseFileLoader::AutoProduceStrings(const char* format, char* dataTabl ++records; uint32 recordsize = GetFormatRecordSize(format); - std::size_t stringFields = GetFormatStringFieldCount(format); + std::size_t stringFields = GetFormatLocalizedStringFieldCount(format); char* stringTable = new char[offsetsPos - dataStart - records * (recordsize - stringFields * sizeof(char*))]; memset(stringTable, 0, offsetsPos - dataStart - records * (recordsize - stringFields * sizeof(char*))); char* stringPtr = stringTable; @@ -402,7 +402,7 @@ char* DB2SparseFileLoader::AutoProduceStrings(const char* format, char* dataTabl if (!offsets[y].FileOffset || !offsets[y].RecordSize) continue; - uint32 fieldOffset; + uint32 fieldOffset = 0; for (uint32 x = 0; x < fieldCount; x++) { switch (format[x]) @@ -427,7 +427,6 @@ char* DB2SparseFileLoader::AutoProduceStrings(const char* format, char* dataTabl break; case FT_STRING: { - // fill only not filled entries LocalizedString* db2str = *(LocalizedString**)(&dataTable[offset]); db2str->Str[locale] = stringPtr; strcpy(stringPtr, (char*)&data[offsets[y].FileOffset - dataStart + fieldOffset]); @@ -438,11 +437,7 @@ char* DB2SparseFileLoader::AutoProduceStrings(const char* format, char* dataTabl } case FT_STRING_NOT_LOCALIZED: { - char** db2str = (char**)(&dataTable[offset]); - *db2str = stringPtr; - strcpy(stringPtr, (char*)&data[offsets[y].FileOffset - dataStart + fieldOffset]); - fieldOffset += strlen(stringPtr) + 1; - stringPtr += strlen(stringPtr) + 1; + fieldOffset += strlen((char*)&data[offsets[y].FileOffset - dataStart + fieldOffset]) + 1; offset += sizeof(char*); break; } |
