From 2ec8cc41a1e9391c1be6396cd558904365686a67 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sun, 2 Nov 2014 08:24:39 -0500 Subject: [PATCH] Added Jupiter::remove() functions for removing sections. --- Jupiter/INIFile.cpp | 25 +++++++++++++++++++++++++ Jupiter/INIFile.h | 10 ++++++++++ Release/Jupiter.lib | Bin 252918 -> 253974 bytes 3 files changed, 35 insertions(+) diff --git a/Jupiter/INIFile.cpp b/Jupiter/INIFile.cpp index 1336c21..8757b1e 100644 --- a/Jupiter/INIFile.cpp +++ b/Jupiter/INIFile.cpp @@ -459,6 +459,31 @@ bool Jupiter::INIFile::remove(const Jupiter::ReadableString §ion, const Jupi return false; } +bool Jupiter::INIFile::remove(size_t section_index) +{ + delete Jupiter::INIFile::data_->data.remove(section_index); + return true; +} + +bool Jupiter::INIFile::remove(const Jupiter::INIFile::Section *section) +{ + size_t i = Jupiter::INIFile::data_->data.size(); + while (i != 0) + if (Jupiter::INIFile::data_->data.get(--i) == section) + return Jupiter::INIFile::remove(i); + return false; +} + +bool Jupiter::INIFile::remove(const Jupiter::ReadableString §ion) +{ + unsigned int nameSum = section.calcChecksumi(); + size_t i = Jupiter::INIFile::data_->data.size(); + while (i != 0) + if (Jupiter::INIFile::data_->data.get(--i)->getNameChecksum() == nameSum && Jupiter::INIFile::data_->data.get(i)->getName().equalsi(section)) + return Jupiter::INIFile::remove(i); + return false; +} + size_t Jupiter::INIFile::getSections() const { return Jupiter::INIFile::data_->data.size(); diff --git a/Jupiter/INIFile.h b/Jupiter/INIFile.h index 1c37395..a4cacd9 100644 --- a/Jupiter/INIFile.h +++ b/Jupiter/INIFile.h @@ -339,6 +339,16 @@ namespace Jupiter */ bool remove(const Jupiter::ReadableString §ion, const Jupiter::ReadableString &keyName); + /** + * @brief Removes a section. Does not modify any files. + * + * @param section Section to remove. + * @return True if a section was removed, false otherwise. + */ + bool remove(size_t section_index); + bool remove(const Jupiter::INIFile::Section *section); + bool remove(const Jupiter::ReadableString §ion); + /** * @brief Returns the number of sections in memory. * diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index f9f589fb586ac8c049f0e72f498431b9ed3f9a61..84c535c7bc514e2099affb39c2af40833ecbcb14 100644 GIT binary patch delta 31024 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 EKWRm}V*mgE delta 30443 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

BNuX&C=t##F5FrXcaa8n1CJoEcdR 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 an-u_7b#%VlL*)(*B2NfzH?QvKtp5iys=?&|