to_hash()
public
Returns a new Hash containing each
key-value pair in the database.
static VALUE
fsdbm_to_hash(VALUE obj)
{
datum key, val;
struct dbmdata *dbmp;
DBM *dbm;
VALUE hash;
GetDBM2(obj, dbmp, dbm);
hash = rb_hash_new();
for (key = sdbm_firstkey(dbm); key.dptr; key = sdbm_nextkey(dbm)) {
val = sdbm_fetch(dbm, key);
rb_hash_aset(hash, rb_external_str_new(key.dptr, key.dsize),
rb_external_str_new(val.dptr, val.dsize));
}
return hash;
}