diff --git a/modules/core/include/opencv2/core/persistence.hpp b/modules/core/include/opencv2/core/persistence.hpp index 93f7381bf..8f515c54d 100644 --- a/modules/core/include/opencv2/core/persistence.hpp +++ b/modules/core/include/opencv2/core/persistence.hpp @@ -701,6 +701,7 @@ void write( FileStorage& fs, const String& name, const std::vector<_Tp>& vec ) write(fs, vec); } + static inline void read(const FileNode& node, bool& value, bool default_value) { diff --git a/modules/core/src/persistence.cpp b/modules/core/src/persistence.cpp index af6a23cd1..89603c87b 100644 --- a/modules/core/src/persistence.cpp +++ b/modules/core/src/persistence.cpp @@ -5486,15 +5486,14 @@ internal::WriteStructContext::WriteStructContext(FileStorage& _fs, { cvStartWriteStruct(**fs, !name.empty() ? name.c_str() : 0, flags, !typeName.empty() ? typeName.c_str() : 0); + fs->elname = String(); if ((flags & FileNode::TYPE_MASK) == FileNode::SEQ) { - fs->elname = String(); fs->state = FileStorage::VALUE_EXPECTED; fs->structs.push_back('['); } else { - fs->elname = String(); fs->state = FileStorage::NAME_EXPECTED + FileStorage::INSIDE_MAP; fs->structs.push_back('{'); }