diff -r 30113bfbe723 -r b3afb9f1e801 lib/vpwtable/cdb_read.cc --- a/lib/vpwtable/cdb_read.cc Sun Jan 20 00:12:17 2008 +0100 +++ b/lib/vpwtable/cdb_read.cc Sun Jan 20 00:22:09 2008 +0100 @@ -28,7 +28,7 @@ cdb_vpwtable_reader(const mystring& filename); ~cdb_vpwtable_reader(); bool operator!() const; - bool get(vpwentry& out); + vpwentry* get(); bool rewind(); bool end(); }; @@ -63,12 +63,10 @@ return !!cdb && cdb.firstrec(); } -bool cdb_vpwtable_reader::get(vpwentry& out) +vpwentry* cdb_vpwtable_reader::get() { autodelete rec = cdb.nextrec(); if(!rec) - return false; - if(!out.from_record(rec->key, rec->data)) - return false; - return true; + return 0; + return vpwentry::new_from_record(rec->key, rec->data); }