From faeb894d1db8e6893405545f00ae5da01157015e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 14 Sep 2009 17:24:42 -0700 Subject: http: define OFFT2NUM macro on Rubies without it Hope they have the LL2NUM macro (Rubinius does) --- ext/unicorn_http/ext_help.h | 8 ++++++++ ext/unicorn_http/extconf.rb | 1 + 2 files changed, 9 insertions(+) (limited to 'ext') diff --git a/ext/unicorn_http/ext_help.h b/ext/unicorn_http/ext_help.h index d8bfc7d..83e80a0 100644 --- a/ext/unicorn_http/ext_help.h +++ b/ext/unicorn_http/ext_help.h @@ -25,6 +25,14 @@ static void rb_18_str_set_len(VALUE str, long len) # define assert_frozen(f) assert(!NIL_P(f)) #endif +#if !defined(OFFT2NUM) +# if SIZEOF_OFF_T == SIZEOF_LONG +# define OFFT2NUM(n) LONG2NUM(n) +# else +# define OFFT2NUM(n) LL2NUM(n) +# endif +#endif /* ! defined(OFFT2NUM) */ + static inline int str_cstr_eq(VALUE val, const char *ptr, size_t len) { return (RSTRING_LEN(val) == len && !memcmp(ptr, RSTRING_PTR(val), len)); diff --git a/ext/unicorn_http/extconf.rb b/ext/unicorn_http/extconf.rb index d65468d..2bf0f48 100644 --- a/ext/unicorn_http/extconf.rb +++ b/ext/unicorn_http/extconf.rb @@ -4,5 +4,6 @@ require 'mkmf' dir_config("unicorn_http") have_macro("SIZEOF_OFF_T", "ruby.h") or check_sizeof("off_t", "sys/types.h") +have_macro("SIZEOF_LONG", "ruby.h") or check_sizeof("long", "sys/types.h") have_func("rb_str_set_len", "ruby.h") create_makefile("unicorn_http") -- cgit v1.2.3-24-ge0c7