lib/vpwtable/cdb_read.cc
changeset 2 b3afb9f1e801
parent 0 6f7a81934006
equal deleted inserted replaced
1:30113bfbe723 2:b3afb9f1e801
    26   cdb_reader cdb;
    26   cdb_reader cdb;
    27 public:
    27 public:
    28   cdb_vpwtable_reader(const mystring& filename);
    28   cdb_vpwtable_reader(const mystring& filename);
    29   ~cdb_vpwtable_reader();
    29   ~cdb_vpwtable_reader();
    30   bool operator!() const;
    30   bool operator!() const;
    31   bool get(vpwentry& out);
    31   vpwentry* get();
    32   bool rewind();
    32   bool rewind();
    33   bool end();
    33   bool end();
    34 };
    34 };
    35 
    35 
    36 vpwtable_reader* vpwtable::start_read() const
    36 vpwtable_reader* vpwtable::start_read() const
    61 bool cdb_vpwtable_reader::rewind()
    61 bool cdb_vpwtable_reader::rewind()
    62 {
    62 {
    63   return !!cdb && cdb.firstrec();
    63   return !!cdb && cdb.firstrec();
    64 }
    64 }
    65 
    65 
    66 bool cdb_vpwtable_reader::get(vpwentry& out)
    66 vpwentry* cdb_vpwtable_reader::get()
    67 {
    67 {
    68   autodelete<datum> rec = cdb.nextrec();
    68   autodelete<datum> rec = cdb.nextrec();
    69   if(!rec)
    69   if(!rec)
    70     return false;
    70     return 0;
    71   if(!out.from_record(rec->key, rec->data))
    71   return vpwentry::new_from_record(rec->key, rec->data);
    72     return false;
       
    73   return true;
       
    74 }
    72 }