1.8のdbm.soをBerkeley DB[234]を使って構築した場合、
testdbm.rbでエラーが出るようです。
エラーになるのは
def setup
@path = "tmptest_dbm_"
assert_instance_of(DBM, @dbm = DBM.new(@path))
# prepare to make readonly DBM file
DBM.open("tmptest_dbm_rdonly", 0400) {|dbm|
dbm['foo'] = 'FOO'
}
assert_instance_of(DBM, @dbm_rdonly = DBM.new("tmptest_dbm_rdonly", nil))
end
の「DBM.open("tmptest_dbm_rdonly", 0400)」で、
「dbm_open(RSTRING(file)->ptr, O_RDWR|O_CREAT, mode);」が
コケてしまうのが原因のようです。
# gdbmだとまた挙動が違いそう。
dbm.so側で対処してあげなくてはならないのではないかなあと
思っているのですが、どんなものでしょうか。
--
やまだあきら / akira yamada <URL:http://arika.org>
Vine Caves, Ltd. <URL:http://vinecaves.com>
(akira / arika.org, akira / debian.org or akira / vinecaves.com)