summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-03-01 01:40:14 -0500
committerAdam <Adam@anope.org>2013-03-01 01:40:14 -0500
commit0b05eaa020482e3ec17a345eea612bf9e8ae1593 (patch)
tree7d59a97042f4d7fb1a86eb5fb1329320a344b83b /src
parent91ad9d22cad8c1da3134975852ba1f732b55dabe (diff)
Only shrink extensible items that are metadata in ExtensibleUnserialize
Diffstat (limited to 'src')
-rw-r--r--src/extensible.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/extensible.cpp b/src/extensible.cpp
index 98395eccb..f408785e6 100644
--- a/src/extensible.cpp
+++ b/src/extensible.cpp
@@ -78,11 +78,12 @@ void Extensible::ExtensibleSerialize(Serialize::Data &data) const
void Extensible::ExtensibleUnserialize(Serialize::Data &data)
{
- /* Shrink existing extensible items */
+ /* Shrink existing extensible metadata items */
std::deque<Anope::string> list;
this->GetExtList(list);
for (unsigned i = 0; i < list.size(); ++i)
- this->Shrink(list[i]);
+ if ((*extension_items)[list[i]]->Serialize())
+ this->Shrink(list[i]);
std::set<Anope::string> keys = data.KeySet();
for (std::set<Anope::string>::iterator it = keys.begin(), it_end = keys.end(); it != it_end; ++it)