summaryrefslogtreecommitdiffstats
path: root/lib/inifile
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2014-09-04 14:02:18 +0200
committermadmaxoft <github@xoft.cz>2014-09-04 14:02:18 +0200
commit3297a39c2709cacfd8d66dab80f2935018711890 (patch)
tree861a0ea04249e8a64201dec2ce03177f5e2eed1a /lib/inifile
parentDebuggers: Reviewed and fixed the Pickups and Poof commands. (diff)
parentAnvil: Cleanly refuse to store data that is too large. (diff)
downloadcuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar.gz
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar.bz2
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar.lz
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar.xz
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.tar.zst
cuberite-3297a39c2709cacfd8d66dab80f2935018711890.zip
Diffstat (limited to 'lib/inifile')
-rw-r--r--lib/inifile/iniFile.cpp18
-rw-r--r--lib/inifile/iniFile.h5
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/inifile/iniFile.cpp b/lib/inifile/iniFile.cpp
index 2bf6c91ed..7cfe7661f 100644
--- a/lib/inifile/iniFile.cpp
+++ b/lib/inifile/iniFile.cpp
@@ -668,6 +668,24 @@ void cIniFile::Clear(void)
+bool cIniFile::HasValue(const AString & a_KeyName, const AString & a_ValueName)
+{
+ // Find the key:
+ int keyID = FindKey(a_KeyName);
+ if (keyID == noID)
+ {
+ return false;
+ }
+
+ // Find the value:
+ int valueID = FindValue(keyID, a_ValueName);
+ return (valueID != noID);
+}
+
+
+
+
+
void cIniFile::AddHeaderComment(const AString & comment)
{
comments.push_back(comment);
diff --git a/lib/inifile/iniFile.h b/lib/inifile/iniFile.h
index 58fecd0cf..33229bff0 100644
--- a/lib/inifile/iniFile.h
+++ b/lib/inifile/iniFile.h
@@ -53,7 +53,9 @@ private:
/// Removes the UTF-8 BOMs (Byte order makers), if present.
void RemoveBom(AString & a_line) const;
+
public:
+
enum errors
{
noID = -1,
@@ -79,6 +81,9 @@ public:
/// Deletes all stored ini data (but doesn't touch the file)
void Clear(void);
+
+ /** Returns true iff the specified value exists. */
+ bool HasValue(const AString & a_KeyName, const AString & a_ValueName);
/// Returns index of specified key, or noID if not found
int FindKey(const AString & keyname) const;