This commit is contained in:
Adam Ierymenko 2016-11-04 16:12:44 -07:00
parent cae9041c2a
commit 0d108d37f6
2 changed files with 4 additions and 19 deletions

View file

@ -19,6 +19,9 @@
#ifndef ZT_JSONDB_HPP
#define ZT_JSONDB_HPP
#include <stdlib.h>
#include <string.h>
#include <string>
#include <map>
#include <stdexcept>
@ -75,7 +78,7 @@ public:
inline void filter(const std::string &prefix,unsigned long maxSinceCheck,F func)
{
for(std::map<std::string,_E>::iterator i(_db.lower_bound(prefix));i!=_db.end();) {
if (i->first.substr(0,prefix.length()) == prefix) {
if ((i->first.length() >= prefix.length())&&(!memcmp(i->first.data(),prefix.data(),prefix.length()))) {
if (!func(i->first,get(i->second.obj,maxSinceCheck))) {
std::map<std::string,_E>::iterator i2(i); ++i2;
this->erase(i->first);