summaryrefslogtreecommitdiffstats
path: root/iniFile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--iniFile/iniFile.cpp22
-rw-r--r--iniFile/iniFile.h1
2 files changed, 16 insertions, 7 deletions
diff --git a/iniFile/iniFile.cpp b/iniFile/iniFile.cpp
index f4381c64f..d1c15df16 100644
--- a/iniFile/iniFile.cpp
+++ b/iniFile/iniFile.cpp
@@ -342,6 +342,20 @@ 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())
+ {
+ // This looks strange, but is neccessary.
+ vector<string>::iterator npos = keys[keyID].names.begin() + valueID;
+ vector<string>::iterator vpos = keys[keyID].values.begin() + valueID;
+ keys[keyID].names.erase( npos, npos + 1);
+ keys[keyID].values.erase( vpos, vpos + 1);
+ return true;
+ }
+ return false;
+}
+
bool cIniFile::DeleteValue( const string & keyname, const string & valuename)
{
long keyID = FindKey( keyname);
@@ -352,13 +366,7 @@ bool cIniFile::DeleteValue( const string & keyname, const string & valuename)
if ( valueID == noID)
return false;
- // This looks strange, but is neccessary.
- vector<string>::iterator npos = keys[keyID].names.begin() + valueID;
- vector<string>::iterator vpos = keys[keyID].values.begin() + valueID;
- keys[keyID].names.erase( npos, npos + 1);
- keys[keyID].values.erase( vpos, vpos + 1);
-
- return true;
+ return DeleteValueByID( keyID, valueID );
}
bool cIniFile::DeleteKey( const string & keyname)
diff --git a/iniFile/iniFile.h b/iniFile/iniFile.h
index d0d34e145..6b766ecf7 100644
--- a/iniFile/iniFile.h
+++ b/iniFile/iniFile.h
@@ -138,6 +138,7 @@ public:
// Deletes specified value.
// Returns true if value existed and deleted, false otherwise.
+ bool DeleteValueByID( const unsigned keyID, const unsigned valueID ); //tolua_export
bool DeleteValue( const std::string & keyname, const std::string & valuename); //tolua_export
// Deletes specified key and all values contained within.