From 0deab33f00fdb3574fda93629d613254899027f3 Mon Sep 17 00:00:00 2001 From: Lars Kanis <lars@greiz-reinsdorf.de> Date: Fri, 28 Oct 2011 22:15:54 +0200 Subject: [PATCH] fix FXRbGetWriteFileHandle for rubinius in 1.9 mode --- ext/fox16/FXRuby.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ext/fox16/FXRuby.cpp b/ext/fox16/FXRuby.cpp index f2e8969..4ac2f99 100644 --- a/ext/fox16/FXRuby.cpp +++ b/ext/fox16/FXRuby.cpp @@ -53,6 +53,7 @@ extern "C" { #endif /* RUBY_1_9 */ + // Opaque type declaration from SWIG runtime struct swig_type_info; @@ -173,14 +174,14 @@ FXInputHandle FXRbGetReadFileHandle(VALUE obj) { // Returns an FXInputHandle for this Ruby file object FXInputHandle FXRbGetWriteFileHandle(VALUE obj) { int fd = -1; -#ifdef RUBY_1_9 +#if defined(RUBINIUS) + VALUE vwrite = rb_intern("@write"); + if(rb_ivar_defined(obj, vwrite)) obj = rb_ivar_get(obj, vwrite); +#elif defined(RUBY_1_9) rb_io_t *fptr; GetOpenFile(obj, fptr); VALUE wrio = fptr->tied_io_for_writing; if(wrio) obj = wrio; -#elif defined(RBX_CAPI_RUBY_H) - VALUE vwrite = rb_intern("@write"); - if(rb_ivar_defined(obj, vwrite)) obj = rb_ivar_get(obj, vwrite); #else OpenFile *fptr; GetOpenFile(obj, fptr); -- GitLab