check only for ndbm.h except libc. check _GDBM_H_ for gdbm.
check _DBM_IOERR for the original ndbm.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
implementation. (libdbm in Version 7 Unix is database library
for single database per process.)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use `extern __declspec(dllimport)` for dll link with VC.
[ruby-core:41996] [Bug #5869]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
detect runtime Berkeley DB version.
use dpversion instead of _QDBM_VERSION for detect runtime QDBM
[ruby-dev:44948]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/dbm/dbm.c: make DBM::VERSION more informative for gdbm, qdbm and
Berkeley DB 1.x. [ruby-dev:44944]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
failed. It fixes -lgdbm -lqdbm when the system has qdbm and gdbm
without gdbm_compat.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
implementation. If it is not available, it is caused by
header/library mismatch such that Berkeley DB header & gdbm library.
* ext/dbm/dbm.c (fdbm_store): use dbm_clearerr() unconditionally.
gdbm 1.9 provides it as a real function instead of a empty macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Berkeley DB. Macro definitions needs arguments to detect correctly.
SIZEOF_DSIZE needs -DDB_DBM_HSEARCH because db.h defines datum type
only if DB_DBM_HSEARCH is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
volatile, because FilePathValue() currently does not protect the
given variable from GC. (Probably it should)
* ext/sdbm/init.c (fsdbm_initialize): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
string in internal encoding to external to export.
* string.c (rb_str_export): new function to do conversion to
external encoding.
* ext/sdbm/init.c: encoding conversion support.
* ext/dbm/dbm.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
GDBM#{each,each_pair,each_key,each_value}: Return an enumerator
if no block is given.
* ext/gdbm/gdbm.c (fgdbm_each_value, fgdbm_each_key,
fgdbm_each_pair): GDBM#{each,each_pair,each_key,each_value}:
Return an enumerator if no block is given.
* ext/openssl/ossl_config.c (ossl_config_each):
OpenSSL::Config#each: Return an enumerator if no block is given.
* ext/readline/readline.c (hist_each): Readline::HISTORY#each:
Return an enumerator if no block is given.
* ext/sdbm/init.c (fsdbm_each_value, fsdbm_each_key,
fsdbm_each_pair): SDBM#{each,each_pair,each_key,each_value}:
Return an enumerator if no block is given.
* ext/stringio/stringio.c (strio_each_byte, strio_each):
StringIO#{each,each_line,each_byte}: Return an enumerator if no
block is given.
* ext/stringio/stringio.c (Init_stringio): Add #lines and #bytes,
which are aliases to #each_line and #each_byte, respectively.
* ext/win32ole/win32ole.c (fole_each): WIN32OLE#each: Return an
enumerator if no block is given.
* ext/zlib/zlib.c (rb_gzreader_each_byte, rb_gzreader_each):
Zlib::GzipReader#{each,each_line,each_byte}: Return an
enumerator if no block is given.
* ext/zlib/zlib.c (Init_zlib): Add Zlib::GzipReader#lines and
#bytes, which are aliases to #each_line and #each_byte,
respectively.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e