summaryrefslogtreecommitdiff
path: root/ext/openssl/ruby_missing.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/openssl/ruby_missing.h')
-rw-r--r--ext/openssl/ruby_missing.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/openssl/ruby_missing.h b/ext/openssl/ruby_missing.h
index 4bd08890f8f..2eaa77e6913 100644
--- a/ext/openssl/ruby_missing.h
+++ b/ext/openssl/ruby_missing.h
@@ -14,5 +14,26 @@
#define rb_define_copy_func(klass, func) \
rb_define_method(klass, "initialize_copy", func, 1)
+
+#if RUBY_VERSION_CODE > 190
+#define FPTR_TO_FD(fptr) (fptr->fd)
+#else
+
+#define rb_io_t OpenFile
+#define FPTR_TO_FD(fptr) (fileno(fptr->f))
+
+
+/* these methods should probably be backported to 1.8 */
+#define rb_str_set_len(str, length) do { \
+ RSTRING(str)->ptr[length] = 0; \
+ RSTRING(str)->len = length; \
+} while(0)
+
+/* the openssl module doesn't use arg[3-4] and arg2 is always rb_each */
+#define rb_block_call(arg1, arg2, arg3, arg4, arg5, arg6) rb_iterate(rb_each, arg1, arg5, arg6)
+
+#endif /* RUBY_VERSION_CODE > 190 */
+
+
#endif /* _OSS_RUBY_MISSING_H_ */