From f37c23704cb73d57e9e478295d1641df1d9104c7 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 14 Sep 2009 17:34:46 -0700 Subject: http: no-op rb_str_modify() for Rubies without it Rubinius has no rb_str_modify() function, it /may/ not need it. --- ext/unicorn_http/ext_help.h | 4 ++++ ext/unicorn_http/extconf.rb | 1 + 2 files changed, 5 insertions(+) diff --git a/ext/unicorn_http/ext_help.h b/ext/unicorn_http/ext_help.h index 83e80a0..8df2d80 100644 --- a/ext/unicorn_http/ext_help.h +++ b/ext/unicorn_http/ext_help.h @@ -33,6 +33,10 @@ static void rb_18_str_set_len(VALUE str, long len) # endif #endif /* ! defined(OFFT2NUM) */ +#ifndef HAVE_RB_STR_MODIFY +# define rb_str_modify(x) do {} while (0) +#endif + 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 2bf0f48..164df66 100644 --- a/ext/unicorn_http/extconf.rb +++ b/ext/unicorn_http/extconf.rb @@ -6,4 +6,5 @@ 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") +have_func("rb_str_modify", "ruby.h") create_makefile("unicorn_http") -- cgit v1.2.3-24-ge0c7