db = o;;
dbPath (name, fxserial, dbpath, lockpath);
- lock.openReadLock (lockpath.c_str ());
- o->openRead (dbpath.c_str ());
+ if (lock.openReadLock (lockpath.c_str ())) {
+ o->openRead (dbpath.c_str ());
+ } else {
+ delete db;
+ db = NULL;
+ }
}
}
if (arg)
throw (uErrorWrongNumber);
- if (obj->db->get (key, val)) {
+ if (obj->db && obj->db->get (key, val)) {
uiterator b = val.begin ();
uiterator e = val.end ();
uiterator it;
v.append (values[i]);
}
}
- obj->db->put (key, v);
+ if (obj->db)
+ obj->db->put (key, v);
return NULL;
}
if (arg)
throw (uErrorWrongNumber);
- obj->db->del (key);
+ if (obj->db)
+ obj->db->del (key);
return NULL;
}
nextNode (arg);
}
- if (obj->db->get (key, val))
+ if (obj->db && obj->db->get (key, val))
ans = true;
if (s == 0) {
set_read_vars (val, vars, type, mlenv);
}
}
}
- obj->db->put (key, val);
+ if (obj->db)
+ obj->db->put (key, val);
return NULL;
}
nextNode (arg);
}
- obj->db->initeach ();
+ if (obj->db)
+ obj->db->initeach ();
n = 0;
- while (obj->db->each (key, val)) {
+ while (obj->db && obj->db->each (key, val)) {
MNodeList ag;
uiterator b = val.begin ();
uiterator e = val.end ();
obj.openRead (TempRWDB, true);
- if (obj.db->get (key, val)) {
+ if (obj.db && obj.db->get (key, val)) {
uiterator b = val.begin ();
uiterator e = val.end ();
uiterator it;
}
}
- obj.db->put (key, v);
+ if (obj.db)
+ obj.db->put (key, v);
return NULL;
}