From 416778c5d80230183ef06a49bb58145a7480ed48 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 13 Nov 2011 14:47:31 +0000 Subject: * ext/dbm/extconf.rb: use convertible_int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/dbm/dbm.c | 5 ++--- ext/dbm/extconf.rb | 8 +------- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'ext') diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 1850b28c2f..3409d8faa0 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -21,12 +21,11 @@ #include #include -#if SIZEOF_DSIZE > SIZEOF_INT -# define DSIZE_TYPE long +#define DSIZE_TYPE TYPEOF_DATUM_DSIZE +#if SIZEOF_DATUM_DSIZE > SIZEOF_INT # define RSTRING_DSIZE(s) RSTRING_LEN(s) # define TOO_LONG(n) 0 #else -# define DSIZE_TYPE int # define RSTRING_DSIZE(s) RSTRING_LENINT(s) # define TOO_LONG(n) ((long)(+(DSIZE_TYPE)(n)) != (n)) #endif diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb index c3ebe898f4..da20c5681a 100644 --- a/ext/dbm/extconf.rb +++ b/ext/dbm/extconf.rb @@ -71,12 +71,6 @@ if dblib.any? {|db| headers.fetch(db, ["ndbm.h"]).any? {|hdr| headers.db_check(d have_header("sys/cdefs.h") have_func("dbm_pagfno((DBM *)0)", headers.found, headers.defs) have_func("dbm_dirfno((DBM *)0)", headers.found, headers.defs) - type = checking_for "sizeof(datum.dsize)", STRING_OR_FAILED_FORMAT do - pre = headers.found + [["static datum conftest_key;"]] - %w[int long LONG_LONG].find do |t| - try_static_assert("sizeof(conftest_key.dsize) <= sizeof(#{t})", pre, headers.defs) - end - end - $defs << "-DSIZEOF_DSIZE=SIZEOF_"+type.tr_cpp if type + convertible_int("datum.dsize", headers.found, headers.defs) create_makefile("dbm") end -- cgit v1.2.3