diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-01 14:43:47 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-01 14:43:47 +0100 |
commit | 2568bad3cc1ae70350f5ad31e97b4c13194e437e (patch) | |
tree | 31d0713dfe1b4e42c1f17ddae8ea0114c420fc61 /iniFile/iniFile.cpp | |
parent | Removed a few duplicate includes (diff) | |
download | cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar.gz cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar.bz2 cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar.lz cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar.xz cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.tar.zst cuberite-2568bad3cc1ae70350f5ad31e97b4c13194e437e.zip |
Diffstat (limited to '')
-rw-r--r-- | iniFile/iniFile.cpp | 121 |
1 files changed, 100 insertions, 21 deletions
diff --git a/iniFile/iniFile.cpp b/iniFile/iniFile.cpp index d1c15df16..2f99c0c17 100644 --- a/iniFile/iniFile.cpp +++ b/iniFile/iniFile.cpp @@ -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())
|