x64: some code clean up and remove warning on Common and 3rd party

This commit is contained in:
zilmar 2022-07-11 19:30:25 +09:30
parent 8726931be5
commit de5a8460fd
14 changed files with 63 additions and 61 deletions

View File

@ -61,7 +61,7 @@
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<PreprocessKeepComments>false</PreprocessKeepComments> <PreprocessKeepComments>false</PreprocessKeepComments>
<StringPooling>true</StringPooling> <StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild> <MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>Async</ExceptionHandling> <ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>Default</BasicRuntimeChecks> <BasicRuntimeChecks>Default</BasicRuntimeChecks>
<StructMemberAlignment>Default</StructMemberAlignment> <StructMemberAlignment>Default</StructMemberAlignment>

View File

@ -36,6 +36,7 @@
<PrecompiledHeader /> <PrecompiledHeader />
<WarningLevel>Level4</WarningLevel> <WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>$(SolutionDir)\Source\3rdParty\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)\Source\3rdParty\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4267;4310</DisableSpecificWarnings>
</ClCompile> </ClCompile>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>

View File

@ -45,9 +45,6 @@
<ClCompile Include="pngset.c"> <ClCompile Include="pngset.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="pngtest.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="pngtrans.c"> <ClCompile Include="pngtrans.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>

View File

@ -35,7 +35,7 @@
<ClCompile> <ClCompile>
<PrecompiledHeader /> <PrecompiledHeader />
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DisableSpecificWarnings>4005;4006;4100;4127;4131;4189;4244;4701;4703;4996</DisableSpecificWarnings> <DisableSpecificWarnings>4005;4006;4100;4127;4131;4189;4244;4701;4703;4996;4267;4067</DisableSpecificWarnings>
<!-- Fix for later VC versions on XP: 45KB + 436 --> <!-- Fix for later VC versions on XP: 45KB + 436 -->
<PreprocessorDefinitions>Z_BUFSIZE=46516;$(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>Z_BUFSIZE=46516;$(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile> </ClCompile>

View File

@ -18,17 +18,17 @@
CFile::CFile() : CFile::CFile() :
#ifdef USE_WINDOWS_API #ifdef USE_WINDOWS_API
m_hFile(INVALID_HANDLE_VALUE), m_hFile(INVALID_HANDLE_VALUE),
#else #else
m_hFile(nullptr), m_hFile(nullptr),
#endif #endif
m_bCloseOnDelete(false) m_bCloseOnDelete(false)
{ {
} }
CFile::CFile(void * hFile) : CFile::CFile(void * hFile) :
m_hFile(hFile), m_hFile(hFile),
m_bCloseOnDelete(true) m_bCloseOnDelete(true)
{ {
if (hFile == 0) if (hFile == 0)
{ {
@ -38,11 +38,11 @@ m_bCloseOnDelete(true)
CFile::CFile(const char * lpszFileName, uint32_t nOpenFlags) : CFile::CFile(const char * lpszFileName, uint32_t nOpenFlags) :
#ifdef USE_WINDOWS_API #ifdef USE_WINDOWS_API
m_hFile(INVALID_HANDLE_VALUE), m_hFile(INVALID_HANDLE_VALUE),
#else #else
m_hFile(nullptr), m_hFile(nullptr),
#endif #endif
m_bCloseOnDelete(true) m_bCloseOnDelete(true)
{ {
Open(lpszFileName, nOpenFlags); Open(lpszFileName, nOpenFlags);
} }

View File

@ -44,28 +44,18 @@ public:
class CFile : public CFileBase class CFile : public CFileBase
{ {
// Attributes
void * m_hFile;
bool m_bCloseOnDelete;
public: public:
// Flag values
// Constructors
CFile(); CFile();
CFile(void * hFile); CFile(void * hFile);
CFile(const char * lpszFileName, uint32_t nOpenFlags); CFile(const char * lpszFileName, uint32_t nOpenFlags);
// Deconstructors
virtual ~CFile(); virtual ~CFile();
// Operations
virtual bool Open(const char * lpszFileName, uint32_t nOpenFlags ); virtual bool Open(const char * lpszFileName, uint32_t nOpenFlags );
uint32_t SeekToEnd ( void ); uint32_t SeekToEnd ( void );
void SeekToBegin ( void ); void SeekToBegin ( void );
// Overridable
virtual uint32_t GetPosition() const; virtual uint32_t GetPosition() const;
virtual int32_t Seek(int32_t lOff, SeekPosition nFrom); virtual int32_t Seek(int32_t lOff, SeekPosition nFrom);
virtual bool SetLength(uint32_t dwNewLen); virtual bool SetLength(uint32_t dwNewLen);
@ -82,4 +72,7 @@ public:
private: private:
CFile(const CFile&); CFile(const CFile&);
CFile& operator=(const CFile&); CFile& operator=(const CFile&);
void * m_hFile;
bool m_bCloseOnDelete;
}; };

View File

@ -1,4 +1,5 @@
#include "IniFile.h" #include "IniFile.h"
#include "StdString.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
@ -29,7 +30,7 @@ void CIniFileBase::fInsertSpaces(int Pos, int NoOfSpaces)
long end, WritePos; long end, WritePos;
m_File.Seek(0, CFileBase::end); m_File.Seek(0, CFileBase::end);
end = m_File.GetPosition(); end = (long)m_File.GetPosition();
if (NoOfSpaces > 0) if (NoOfSpaces > 0)
{ {
@ -42,7 +43,7 @@ void CIniFileBase::fInsertSpaces(int Pos, int NoOfSpaces)
if (SizeToRead > 0) if (SizeToRead > 0)
{ {
m_File.Seek(SizeToRead * -1, CFileBase::current); m_File.Seek(SizeToRead * -1, CFileBase::current);
WritePos = m_File.GetPosition(); WritePos = (long)m_File.GetPosition();
memset(Data, 0, sizeof(Data)); memset(Data, 0, sizeof(Data));
result = m_File.Read(Data, SizeToRead); result = m_File.Read(Data, SizeToRead);
m_File.Seek(WritePos, CFileBase::begin); m_File.Seek(WritePos, CFileBase::begin);
@ -151,7 +152,7 @@ int CIniFileBase::GetStringFromFile(char * & String, std::unique_ptr<char> &Data
void CIniFileBase::SaveCurrentSection(void) void CIniFileBase::SaveCurrentSection(void)
{ {
if (!m_CurrentSectionDirty) if (!m_CurrentSectionDirty || m_ReadOnly)
{ {
return; return;
} }
@ -179,7 +180,7 @@ void CIniFileBase::SaveCurrentSection(void)
sprintf(SectionName.get(), "%s[%s]%s", m_LineFeed, m_CurrentSection.c_str(), m_LineFeed); sprintf(SectionName.get(), "%s[%s]%s", m_LineFeed, m_CurrentSection.c_str(), m_LineFeed);
} }
m_File.Write(SectionName.get(), (int)strlen(SectionName.get())); m_File.Write(SectionName.get(), (int)strlen(SectionName.get()));
m_CurrentSectionFilePos = m_File.GetPosition(); m_CurrentSectionFilePos = (long)m_File.GetPosition();
m_SectionsPos.insert(FILELOC::value_type(m_CurrentSection, m_CurrentSectionFilePos)); m_SectionsPos.insert(FILELOC::value_type(m_CurrentSection, m_CurrentSectionFilePos));
} }
else else
@ -219,7 +220,7 @@ void CIniFileBase::SaveCurrentSection(void)
if (result <= 1) { continue; } if (result <= 1) { continue; }
if (strlen(CleanLine(Input)) <= 1 || Input[0] != '[') if (strlen(CleanLine(Input)) <= 1 || Input[0] != '[')
{ {
EndPos = ((m_File.GetPosition() - DataSize) + ReadPos); EndPos = (long)((m_File.GetPosition() - DataSize) + ReadPos);
continue; continue;
} }
@ -342,7 +343,7 @@ bool CIniFileBase::MoveToSectionNameData(const char * lpSectionName, bool Change
// Take off the ']' from the end of the string // Take off the ']' from the end of the string
CurrentSection[lineEndPos] = 0; CurrentSection[lineEndPos] = 0;
CurrentSection += 1; CurrentSection += 1;
m_lastSectionSearch = (m_File.GetPosition() - DataSize) + ReadPos; m_lastSectionSearch = (long)((m_File.GetPosition() - DataSize) + ReadPos);
m_SectionsPos.insert(FILELOC::value_type(CurrentSection, m_lastSectionSearch)); m_SectionsPos.insert(FILELOC::value_type(CurrentSection, m_lastSectionSearch));
if (_stricmp(lpSectionName, CurrentSection) != 0) if (_stricmp(lpSectionName, CurrentSection) != 0)
@ -492,6 +493,11 @@ bool CIniFileBase::IsFileOpen(void)
return m_File.IsOpen(); return m_File.IsOpen();
} }
bool CIniFileBase::IsReadOnly(void)
{
return m_ReadOnly;
}
bool CIniFileBase::DeleteSection(const char * lpSectionName) bool CIniFileBase::DeleteSection(const char * lpSectionName)
{ {
CGuard Guard(m_CS); CGuard Guard(m_CS);
@ -504,7 +510,7 @@ bool CIniFileBase::DeleteSection(const char * lpSectionName)
return false; return false;
} }
m_File.Seek(m_CurrentSectionFilePos, CFileBase::begin); m_File.Seek(m_CurrentSectionFilePos, CFileBase::begin);
long DeleteSectionStart = m_CurrentSectionFilePos - (strlen(lpSectionName) + strlen(m_LineFeed) + 2); long DeleteSectionStart = (long)(m_CurrentSectionFilePos - (strlen(lpSectionName) + strlen(m_LineFeed) + 2));
long NextSectionStart = -1; long NextSectionStart = -1;
{ {
@ -519,10 +525,10 @@ bool CIniFileBase::DeleteSection(const char * lpSectionName)
if (Input[0] != '[') if (Input[0] != '[')
{ {
NextLine = (m_File.GetPosition() - DataSize) + ReadPos; NextLine = (int)((m_File.GetPosition() - DataSize) + ReadPos);
continue; continue;
} }
NextSectionStart = NextLine != 0 ? NextLine : (m_File.GetPosition() - DataSize) + ReadPos; NextSectionStart = NextLine != 0 ? NextLine : (long)((m_File.GetPosition() - DataSize) + ReadPos);
break; break;
} while (result >= 0); } while (result >= 0);
} }
@ -530,7 +536,7 @@ bool CIniFileBase::DeleteSection(const char * lpSectionName)
if (NextSectionStart != -1) if (NextSectionStart != -1)
{ {
m_File.Seek(0, CFileBase::end); m_File.Seek(0, CFileBase::end);
long end = m_File.GetPosition(); long end = (long)m_File.GetPosition();
long ReadPos = NextSectionStart; long ReadPos = NextSectionStart;
long WritePos = DeleteSectionStart; long WritePos = DeleteSectionStart;
@ -657,6 +663,10 @@ bool CIniFileBase::GetNumber(const char * lpSectionName, const char * lpKeyName,
void CIniFileBase::SaveString(const char * lpSectionName, const char * lpKeyName, const char * lpString) void CIniFileBase::SaveString(const char * lpSectionName, const char * lpKeyName, const char * lpString)
{ {
if (m_ReadOnly)
{
return;
}
CGuard Guard(m_CS); CGuard Guard(m_CS);
if (!m_File.IsOpen()) if (!m_File.IsOpen())
{ {
@ -719,8 +729,12 @@ void CIniFileBase::SaveString(const char * lpSectionName, const char * lpKeyNam
} }
} }
void CIniFileBase::SaveNumber(const char * lpSectionName, const char * lpKeyName, int32_t Value) void CIniFileBase::SaveNumber(const char * lpSectionName, const char * lpKeyName, uint32_t Value)
{ {
if (m_ReadOnly)
{
return;
}
// Translate the string to an ASCII version and save as text // Translate the string to an ASCII version and save as text
SaveString(lpSectionName, lpKeyName, FormatStr("%d", Value).c_str()); SaveString(lpSectionName, lpKeyName, FormatStr("%d", Value).c_str());
} }
@ -806,7 +820,7 @@ void CIniFileBase::GetKeyValueData(const char * lpSectionName, KeyValueData & Li
if (!MoveToSectionNameData(strSection.c_str(), false)) { return; } if (!MoveToSectionNameData(strSection.c_str(), false)) { return; }
int MaxDataSize = 0, DataSize = 0, ReadPos = 0, result; int MaxDataSize = 0, DataSize = 0, ReadPos = 0, result;
std::unique_ptr <char> Data; std::unique_ptr<char> Data;
char *Input = nullptr; char *Input = nullptr;
do do
{ {
@ -818,7 +832,7 @@ void CIniFileBase::GetKeyValueData(const char * lpSectionName, KeyValueData & Li
if (Pos == nullptr) { continue; } if (Pos == nullptr) { continue; }
Pos[0] = 0; Pos[0] = 0;
List.insert(KeyValueData::value_type(Input, &Pos[1])); List.insert(KeyValueData::value_type(stdstr(Input).Trim(), &Pos[1]));
} while (result >= 0); } while (result >= 0);
} }

View File

@ -29,6 +29,7 @@ public:
bool IsEmpty(); bool IsEmpty();
bool IsFileOpen(void); bool IsFileOpen(void);
bool IsReadOnly(void);
bool DeleteSection(const char * lpSectionName); bool DeleteSection(const char * lpSectionName);
bool GetString(const char * lpSectionName, const char * lpKeyName, const char * lpDefault, std::string & Value); bool GetString(const char * lpSectionName, const char * lpKeyName, const char * lpDefault, std::string & Value);
std::string GetString(const char * lpSectionName, const char * lpKeyName, const char * lpDefault); std::string GetString(const char * lpSectionName, const char * lpKeyName, const char * lpDefault);
@ -37,7 +38,7 @@ public:
bool GetNumber(const char * lpSectionName, const char * lpKeyName, uint32_t nDefault, uint32_t & Value); bool GetNumber(const char * lpSectionName, const char * lpKeyName, uint32_t nDefault, uint32_t & Value);
virtual void SaveString(const char * lpSectionName, const char * lpKeyName, const char * lpString); virtual void SaveString(const char * lpSectionName, const char * lpKeyName, const char * lpString);
virtual void SaveNumber(const char * lpSectionName, const char * lpKeyName, int32_t Value); virtual void SaveNumber(const char * lpSectionName, const char * lpKeyName, uint32_t Value);
void SetAutoFlush(bool AutoFlush); void SetAutoFlush(bool AutoFlush);
void FlushChanges(void); void FlushChanges(void);
bool EntryExists(const char * lpSectionName, const char * lpKeyName); bool EntryExists(const char * lpSectionName, const char * lpKeyName);
@ -67,7 +68,7 @@ private:
} }
}; };
typedef std::map<std::string, long> FILELOC; typedef std::map<std::string, long, insensitive_compare> FILELOC;
typedef FILELOC::iterator FILELOC_ITR; typedef FILELOC::iterator FILELOC_ITR;
typedef std::map<std::string, std::string, insensitive_compare> KeyValueList; typedef std::map<std::string, std::string, insensitive_compare> KeyValueList;
@ -91,7 +92,6 @@ private:
bool MoveToSectionNameData(const char * lpSectionName, bool ChangeCurrentSection); bool MoveToSectionNameData(const char * lpSectionName, bool ChangeCurrentSection);
const char * CleanLine(char * Line); const char * CleanLine(char * Line);
void ClearSectionPosList(long FilePos); void ClearSectionPosList(long FilePos);
}; };
template <class CFileStorage> template <class CFileStorage>

View File

@ -39,7 +39,7 @@ bool CLog::Open( const char * FileName, LOG_OPEN_MODE mode /* = Log_New */)
} }
m_FileName = (const char *)File; m_FileName = (const char *)File;
m_hLogFile.Seek(0,mode == Log_Append ? CFile::end : CFile::begin); m_hLogFile.Seek(0,mode == Log_Append ? CFile::end : CFile::begin);
m_FileSize = mode == Log_Append ? m_hLogFile.GetLength() : 0; m_FileSize = mode == Log_Append ? (uint32_t)m_hLogFile.GetLength() : 0;
return true; return true;
} }
@ -94,17 +94,17 @@ void CLog::Log( const char * Message )
if (m_TruncateFileLog && m_FileSize > m_MaxFileSize) if (m_TruncateFileLog && m_FileSize > m_MaxFileSize)
{ {
// Check file size // Check file size
m_FileSize = m_hLogFile.GetLength(); m_FileSize = (uint32_t)m_hLogFile.GetLength();
// If larger then maximum size then // If larger then maximum size then
if (m_FileSize > m_MaxFileSize) if (m_FileSize > m_MaxFileSize)
{ {
if (!m_FlushOnWrite) if (!m_FlushOnWrite)
{ {
m_hLogFile.Flush(); m_hLogFile.Flush();
m_FileSize = m_hLogFile.GetLength(); m_FileSize = (uint32_t)m_hLogFile.GetLength();
} }
uint32_t end = m_hLogFile.SeekToEnd(); uint32_t end = (uint32_t)m_hLogFile.SeekToEnd();
// Move to reduce size // Move to reduce size
m_hLogFile.Seek((end - m_MaxFileSize) + m_FileChangeSize,CFile::begin); m_hLogFile.Seek((end - m_MaxFileSize) + m_FileChangeSize,CFile::begin);
@ -162,7 +162,7 @@ void CLog::Log( const char * Message )
// Clean up // Clean up
m_hLogFile.SetEndOfFile(); m_hLogFile.SetEndOfFile();
m_hLogFile.Flush(); m_hLogFile.Flush();
m_FileSize = m_hLogFile.GetLength(); m_FileSize = (uint32_t)m_hLogFile.GetLength();
} // end if } // end if
} }
} }

View File

@ -27,10 +27,7 @@ uint32_t CRandom::next()
void CRandom::set_state(uint32_t state_value) void CRandom::set_state(uint32_t state_value)
{ {
if (state_value == 0) m_state = state_value == 0 ? 1 : state_value;
m_state = 1;
else
m_state = state_value;
} }
uint32_t CRandom::get_state() uint32_t CRandom::get_state()

View File

@ -90,13 +90,13 @@ void stdstr::Format(const char * strFormat, ...)
stdstr& stdstr::ToLower(void) stdstr& stdstr::ToLower(void)
{ {
std::transform(begin(), end(), begin(), (int(*)(int)) tolower); std::transform(begin(), end(), begin(), (char(*)(int)) tolower);
return *this; return *this;
} }
stdstr& stdstr::ToUpper(void) stdstr& stdstr::ToUpper(void)
{ {
std::transform(begin(), end(), begin(), (int(*)(int)) toupper); std::transform(begin(), end(), begin(), (char(*)(int)) toupper);
return *this; return *this;
} }

View File

@ -42,7 +42,7 @@ void SyncEvent::Trigger()
#endif #endif
} }
bool SyncEvent::IsTriggered(int32_t iWaitTime) bool SyncEvent::IsTriggered(int32_t iWaitTime) const
{ {
#ifdef _WIN32 #ifdef _WIN32
return (WAIT_OBJECT_0 == WaitForSingleObject(m_Event, iWaitTime)); return (WAIT_OBJECT_0 == WaitForSingleObject(m_Event, iWaitTime));

View File

@ -10,7 +10,7 @@ public:
~SyncEvent(void); ~SyncEvent(void);
void Trigger (void); void Trigger (void);
bool IsTriggered (int32_t iWaitTime = 0); bool IsTriggered (int32_t iWaitTime = 0) const;
void Reset(); void Reset();
void * GetHandle(); void * GetHandle();

View File

@ -195,7 +195,7 @@ MD5::MD5(const unsigned char *input, unsigned int input_length)
MD5::MD5(const stdstr & string) MD5::MD5(const stdstr & string)
{ {
init(); // Must be called by all constructors init(); // Must be called by all constructors
update((const unsigned char *)string.c_str(), string.length()); update((const unsigned char *)string.c_str(), (uint4)string.length());
finalize(); finalize();
} }