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