diff options
Diffstat (limited to 'ext/dbm')
-rw-r--r-- | ext/dbm/dbm.c | 7 | ||||
-rw-r--r-- | ext/dbm/depend | 2 | ||||
-rw-r--r-- | ext/dbm/extconf.rb | 5 |
3 files changed, 9 insertions, 5 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 2764a325e1..4d83cec1b1 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -12,6 +12,9 @@ #include "ruby.h" +#ifdef HAVE_CDEFS_H +# include <cdefs.h> +#endif #include <ndbm.h> #include <fcntl.h> #include <errno.h> @@ -84,7 +87,7 @@ fdbm_s_open(argc, argv, klass) obj = Data_Make_Struct(klass,struct dbmdata,0,free_dbm,dbmp); dbmp->di_dbm = dbm; dbmp->di_size = -1; - rb_obj_call_init(obj); + rb_obj_call_init(obj, argc, argv); return obj; } @@ -329,7 +332,7 @@ fdbm_store(obj, keystr, valstr) dbmp->di_size = -1; dbm = dbmp->di_dbm; if (dbm_store(dbm, key, val, DBM_REPLACE)) { -#ifdef HAVE_DBM_CLAERERR +#ifdef HAVE_DBM_CLEARERR dbm_clearerr(dbm); #endif if (errno == EPERM) rb_sys_fail(0); diff --git a/ext/dbm/depend b/ext/dbm/depend index d7f1f419d4..5fae80b096 100644 --- a/ext/dbm/depend +++ b/ext/dbm/depend @@ -1 +1 @@ -dbm.o: dbm.c $(hdrdir)/ruby.h $(hdrdir)/config.h $(hdrdir)/defines.h +dbm.o: dbm.c $(hdrdir)/ruby.h $(topdir)/config.h $(hdrdir)/defines.h diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb index 3a96cee12f..22198910cc 100644 --- a/ext/dbm/extconf.rb +++ b/ext/dbm/extconf.rb @@ -1,9 +1,10 @@ require 'mkmf' -$LDFLAGS = "-L/usr/local/lib" +dir_config("dbm") have_library("gdbm", "dbm_open") or have_library("db", "dbm_open") or have_library("dbm", "dbm_open") -if have_func("dbm_open") +have_header("cdefs.h") +if have_header("ndbm.h") and have_func("dbm_open") have_func("dbm_clearerr") create_makefile("dbm") end |