aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/common/Csv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/CascLib/src/common/Csv.cpp')
-rw-r--r--dep/CascLib/src/common/Csv.cpp37
1 files changed, 14 insertions, 23 deletions
diff --git a/dep/CascLib/src/common/Csv.cpp b/dep/CascLib/src/common/Csv.cpp
index 589c711571a..ba333399479 100644
--- a/dep/CascLib/src/common/Csv.cpp
+++ b/dep/CascLib/src/common/Csv.cpp
@@ -42,7 +42,7 @@ static char * NextColumn_Default(void * /* pvUserData */, char * szColumn)
szColumn++;
// Terminate the column
- if (szColumn[0] == '|')
+ if(szColumn[0] == '|')
{
*szColumn++ = 0;
return szColumn;
@@ -158,7 +158,6 @@ CASC_CSV::CASC_CSV(size_t nLinesMax, bool bHasHeader)
m_pvUserData = NULL;
m_szCsvFile = NULL;
m_szCsvPtr = NULL;
- m_nCsvFile = 0;
m_nLines = 0;
m_bHasHeader = bHasHeader;
@@ -185,8 +184,9 @@ CASC_CSV::CASC_CSV(size_t nLinesMax, bool bHasHeader)
CASC_CSV::~CASC_CSV()
{
if(m_pLines != NULL)
+ {
delete[] m_pLines;
- CASC_FREE(m_szCsvFile);
+ }
}
DWORD CASC_CSV::SetNextLineProc(CASC_CSV_NEXTPROC PfnNextLineProc, CASC_CSV_NEXTPROC PfnNextColProc, void * pvUserData)
@@ -206,24 +206,18 @@ DWORD CASC_CSV::SetNextLineProc(CASC_CSV_NEXTPROC PfnNextLineProc, CASC_CSV_NEXT
DWORD CASC_CSV::Load(LPCTSTR szFileName)
{
- DWORD cbFileData = 0;
- DWORD dwErrCode = ERROR_SUCCESS;
+ DWORD dwErrCode;
- m_szCsvFile = (char *)LoadFileToMemory(szFileName, &cbFileData);
- if (m_szCsvFile != NULL)
+ dwErrCode = LoadFileToMemory(szFileName, CsvFile);
+ if(dwErrCode == ERROR_SUCCESS)
{
// Assign the data to the CSV object
+ m_szCsvFile = (char *)CsvFile.pbData;
m_szCsvPtr = m_szCsvFile;
- m_nCsvFile = cbFileData;
// Parse the data
dwErrCode = ParseCsvData() ? ERROR_SUCCESS : ERROR_BAD_FORMAT;
}
- else
- {
- dwErrCode = GetCascError();
- }
-
return dwErrCode;
}
@@ -231,19 +225,16 @@ DWORD CASC_CSV::Load(LPBYTE pbData, size_t cbData)
{
DWORD dwErrCode = ERROR_NOT_ENOUGH_MEMORY;
- m_szCsvFile = CASC_ALLOC<char>(cbData + 1);
- if (m_szCsvFile != NULL)
+ if((dwErrCode = CsvFile.SetData(pbData, cbData)) == ERROR_SUCCESS)
{
// Copy the entire data and terminate them with zero
- memcpy(m_szCsvFile, pbData, cbData);
- m_szCsvFile[cbData] = 0;
+ m_szCsvFile = (char *)CsvFile.pbData;
+ m_szCsvFile[CsvFile.cbData] = 0;
m_szCsvPtr = m_szCsvFile;
- m_nCsvFile = cbData;
// Parse the data
dwErrCode = ParseCsvData() ? ERROR_SUCCESS : ERROR_BAD_FORMAT;
}
-
return dwErrCode;
}
@@ -303,7 +294,7 @@ bool CASC_CSV::LoadNextLine(CASC_CSV_LINE & Line)
m_szCsvPtr = PfnNextLine(m_pvUserData, m_szCsvPtr);
// Initialize the line
- if (Line.SetLine(this, szCsvLine))
+ if(Line.SetLine(this, szCsvLine))
return true;
}
@@ -320,7 +311,7 @@ bool CASC_CSV::ParseCsvData()
if(m_bHasHeader)
{
// Load the current line to the header
- if (!LoadNextLine(Header))
+ if(!LoadNextLine(Header))
return false;
// Initialize the hash table
@@ -345,14 +336,14 @@ bool CASC_CSV::ParseCsvData()
const CASC_CSV_COLUMN & CASC_CSV::operator[](const char * szColumnName) const
{
- if (m_pLines == NULL || m_nLines == 0)
+ if(m_pLines == NULL || m_nLines == 0)
return NullColumn;
return m_pLines[0][GetColumnIndex(szColumnName)];
}
const CASC_CSV_LINE & CASC_CSV::operator[](size_t nIndex) const
{
- if (m_pLines == NULL || nIndex >= m_nLines)
+ if(m_pLines == NULL || nIndex >= m_nLines)
return NullLine;
return m_pLines[nIndex];
}