lib/vpwtable/gdbm_read.cc
changeset 2 b3afb9f1e801
parent 0 6f7a81934006
--- a/lib/vpwtable/gdbm_read.cc	Sun Jan 20 00:12:17 2008 +0100
+++ b/lib/vpwtable/gdbm_read.cc	Sun Jan 20 00:22:09 2008 +0100
@@ -28,7 +28,7 @@
   gdbm_vpwtable_reader(const mystring& filename);
   ~gdbm_vpwtable_reader();
   bool operator!() const;
-  bool get(vpwentry& out);
+  vpwentry* get();
   bool rewind();
   bool end();
 };
@@ -77,17 +77,16 @@
   return false;
 }
 
-bool gdbm_vpwtable_reader::get(vpwentry& out)
+vpwentry* gdbm_vpwtable_reader::get()
 {
+  vpwentry* v = 0;
   if(key.dptr) {
     mystring name(key.dptr, key.dsize);
     datum rec = gdbm_fetch(dbf, key);
     mystring result(rec.dptr, rec.dsize);
     free(rec.dptr);
-    if(!out.from_record(name, result))
-      return false;
+    v = vpwentry::new_from_record(name, result);
     key = gdbm_nextkey(dbf, key);
-    return true;
   }
-  return false;
+  return v;
 }