sprintf() begone! Replaced with StringUtils' Printf()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@216 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -38,11 +38,13 @@ using namespace std;
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#define sprintf_s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
|
||||
#define vsprintf_s(buffer, stringbuffer, ...) (vsprintf(buffer, stringbuffer, __VA_ARGS__))
|
||||
#define sscanf_s(buffer, stringbuffer, ...) (sscanf(buffer, stringbuffer, __VA_ARGS__))
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cIniFile::cIniFile( const string iniPath)
|
||||
{
|
||||
Path( iniPath);
|
||||
@@ -115,6 +117,10 @@ bool cIniFile::ReadFile()
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::WriteFile()
|
||||
{
|
||||
unsigned commentID, keyID, valueID;
|
||||
@@ -148,6 +154,10 @@ bool cIniFile::WriteFile()
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
long cIniFile::FindKey( const string & keyname) const
|
||||
{
|
||||
for ( unsigned keyID = 0; keyID < names.size(); ++keyID)
|
||||
@@ -156,6 +166,10 @@ long cIniFile::FindKey( const string & keyname) const
|
||||
return noID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
long cIniFile::FindValue( unsigned const keyID, const string & valuename) const
|
||||
{
|
||||
if ( !keys.size() || keyID >= keys.size())
|
||||
@@ -167,6 +181,10 @@ long cIniFile::FindValue( unsigned const keyID, const string & valuename) const
|
||||
return noID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
unsigned cIniFile::AddKeyName( const string & keyname)
|
||||
{
|
||||
names.resize( names.size() + 1, keyname);
|
||||
@@ -174,6 +192,10 @@ unsigned cIniFile::AddKeyName( const string & keyname)
|
||||
return names.size() - 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
string cIniFile::KeyName( unsigned const keyID) const
|
||||
{
|
||||
if ( keyID < names.size())
|
||||
@@ -182,6 +204,10 @@ string cIniFile::KeyName( unsigned const keyID) const
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
unsigned cIniFile::NumValues( unsigned const keyID)
|
||||
{
|
||||
if ( keyID < keys.size())
|
||||
@@ -189,6 +215,10 @@ unsigned cIniFile::NumValues( unsigned const keyID)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
unsigned cIniFile::NumValues( const string & keyname)
|
||||
{
|
||||
long keyID = FindKey( keyname);
|
||||
@@ -197,6 +227,10 @@ unsigned cIniFile::NumValues( const string & keyname)
|
||||
return keys[keyID].names.size();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
string cIniFile::ValueName( unsigned const keyID, unsigned const valueID) const
|
||||
{
|
||||
if ( keyID < keys.size() && valueID < keys[keyID].names.size())
|
||||
@@ -204,6 +238,10 @@ string cIniFile::ValueName( unsigned const keyID, unsigned const valueID) const
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
string cIniFile::ValueName( const string & keyname, unsigned const valueID) const
|
||||
{
|
||||
long keyID = FindKey( keyname);
|
||||
@@ -212,6 +250,10 @@ string cIniFile::ValueName( const string & keyname, unsigned const valueID) cons
|
||||
return ValueName( keyID, valueID);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::SetValue( unsigned const keyID, unsigned const valueID, const string & value)
|
||||
{
|
||||
if ( keyID < keys.size() && valueID < keys[keyID].names.size())
|
||||
@@ -220,6 +262,10 @@ bool cIniFile::SetValue( unsigned const keyID, unsigned const valueID, const str
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::SetValue( const string & keyname, const string & valuename, const string & value, bool const create)
|
||||
{
|
||||
long keyID = FindKey( keyname);
|
||||
@@ -250,33 +296,48 @@ bool cIniFile::SetValue( const string & keyname, const string & valuename, const
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::SetValueI( const string & keyname, const string & valuename, int const value, bool const create)
|
||||
{
|
||||
char svalue[MAX_VALUEDATA];
|
||||
|
||||
sprintf_s( svalue, MAX_VALUEDATA, "%d", value);
|
||||
return SetValue( keyname, valuename, svalue, create);
|
||||
AString Data;
|
||||
Printf(Data, "%d", value);
|
||||
return SetValue( keyname, valuename, Data, create);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::SetValueF( const string & keyname, const string & valuename, double const value, bool const create)
|
||||
{
|
||||
char svalue[MAX_VALUEDATA];
|
||||
|
||||
sprintf_s( svalue, MAX_VALUEDATA, "%f", value);
|
||||
return SetValue( keyname, valuename, svalue, create);
|
||||
AString Data;
|
||||
Printf(Data, "%f", value);
|
||||
return SetValue( keyname, valuename, Data, create);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::SetValueV( const string & keyname, const string & valuename, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
char value[MAX_VALUEDATA];
|
||||
|
||||
va_start( args, format);
|
||||
vsprintf_s( value, format, args);
|
||||
|
||||
AString Data;
|
||||
AppendVPrintf(Data, format, args);
|
||||
va_end( args);
|
||||
return SetValue( keyname, valuename, value );
|
||||
return SetValue( keyname, valuename, Data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
string cIniFile::GetValue( unsigned const keyID, unsigned const valueID, const string & defValue) const
|
||||
{
|
||||
if ( keyID < keys.size() && valueID < keys[keyID].names.size())
|
||||
@@ -284,6 +345,10 @@ string cIniFile::GetValue( unsigned const keyID, unsigned const valueID, const s
|
||||
return defValue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
string cIniFile::GetValue( const string & keyname, const string & valuename, const string & defValue) const
|
||||
{
|
||||
long keyID = FindKey( keyname);
|
||||
@@ -297,22 +362,32 @@ string cIniFile::GetValue( const string & keyname, const string & valuename, con
|
||||
return keys[keyID].values[valueID];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int cIniFile::GetValueI(const string & keyname, const string & valuename, int const defValue) const
|
||||
{
|
||||
char svalue[MAX_VALUEDATA];
|
||||
|
||||
sprintf_s( svalue, MAX_VALUEDATA, "%d", defValue);
|
||||
return atoi( GetValue( keyname, valuename, svalue).c_str());
|
||||
AString Data;
|
||||
Printf(Data, "%d", defValue);
|
||||
return atoi( GetValue( keyname, valuename, Data).c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
double cIniFile::GetValueF(const string & keyname, const string & valuename, double const defValue) const
|
||||
{
|
||||
char svalue[MAX_VALUEDATA];
|
||||
|
||||
sprintf_s( svalue, MAX_VALUEDATA, "%f", defValue);
|
||||
return atof( GetValue( keyname, valuename, svalue).c_str());
|
||||
AString Data;
|
||||
Printf(Data, "%f", defValue);
|
||||
return atof( GetValue( keyname, valuename, Data).c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 16 variables may be a bit of over kill, but hey, it's only code.
|
||||
unsigned cIniFile::GetValueV( const string & keyname, const string & valuename, char *format,
|
||||
void *v1, void *v2, void *v3, void *v4,
|
||||
@@ -342,6 +417,10 @@ unsigned cIniFile::GetValueV( const string & keyname, const string & valuename,
|
||||
return nVals;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cIniFile::DeleteValueByID( const unsigned keyID, const unsigned valueID )
|
||||
{
|
||||
if ( keyID < keys.size() && valueID < keys[keyID].names.size())
|
||||
|
||||
Reference in New Issue
Block a user