Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > fe39a94f7504cd4ac9cb95431f6e89d9 > files > 8

libprelude-1.0.1-4.mga3.src.rpm

--- libprelude-1.0.0/m4/am_path_ruby.m4.orig	2010-01-11 12:09:42.000000000 +0100
+++ libprelude-1.0.0/m4/am_path_ruby.m4	2011-08-07 16:18:31.583033709 +0200
@@ -100,7 +100,7 @@
   AC_SUBST([rbexecdir], [$am_cv_ruby_rbexecdir])
 
   RUBY_INCLUDES=`$RUBY -r rbconfig -e 'if Config::CONFIG[["archdir"]] then print " -I" + Config::CONFIG[["archdir"]] end
-                                       if Config::CONFIG[["rubyhdrdir"]] then print " -I" + Config::CONFIG[["rubyhdrdir"]] end'`
+                                       if Config::CONFIG[["rubyhdrdir"]] then print " -I" + Config::CONFIG[["rubyhdrdir"]]; print " -I" + Config::CONFIG[["rubyhdrdir"]] + "/" + Config::CONFIG[["arch"]] end'`
   AC_SUBST([RUBY_INCLUDES])
 
   dnl pkgrbexecdir -- $(rbexecdir)/$(PACKAGE)
--- libprelude-1.0.0/bindings/ruby/libpreludecpp-ruby.i.orig	2011-08-07 21:07:53.936358340 +0200
+++ libprelude-1.0.0/bindings/ruby/libpreludecpp-ruby.i	2011-08-08 20:26:34.566624741 +0200
@@ -21,8 +21,9 @@
 
 %{
 extern "C" {
-#include "rubyio.h"
+#include "ruby/io.h"
 }
+#define OpenFile rb_io_t
 %};
 
 
@@ -49,7 +50,7 @@
         VALUE *io = (VALUE *) prelude_msgbuf_get_data(fd);
 
         GetOpenFile(*io, fptr);
-        f = fptr->f;
+        f = fptr->stdio_file;
 
         ret = fwrite((const char *) prelude_msg_get_message_data(msg), 1, prelude_msg_get_len(msg), f);
         if ( ret != prelude_msg_get_len(msg) )
@@ -69,7 +70,7 @@
         VALUE *io = (VALUE *) prelude_io_get_fdptr(fd);
 
         GetOpenFile(*io, fptr);
-        f = fptr->f;
+        f = fptr->stdio_file;
 
         ret = fread(buf, 1, size, f);
         if ( ret < 0 )
@@ -119,7 +120,7 @@
 VALUE IDMEFValueList_to_SWIG(const Prelude::IDMEFValue &value)
 {
         VALUE ary;
-        int ret, j = 0;
+        int ret;
         std::vector<Prelude::IDMEFValue> result = value;
         std::vector<Prelude::IDMEFValue>::const_iterator i;
 
@@ -132,11 +133,9 @@
                 if ( ret < 0 )
                         return Qnil;
 
-                RARRAY(ary)->ptr[j++] = val;
+                rb_ary_push(ary, val);
         }
 
-        RARRAY(ary)->len = result.size();
-
         return ary;
 }
 }
@@ -166,7 +165,7 @@
         __initial_thread = (gl_thread_t) gl_thread_self();
 
         rbargv = rb_const_get(rb_cObject, rb_intern("ARGV"));
-        argc = RARRAY(rbargv)->len + 1;
+        argc = RARRAY_LEN(rbargv) + 1;
 
         if ( argc + 1 < 0 )
                 throw PreludeError("Invalid argc length");
@@ -175,11 +174,12 @@
         if ( ! argv )
                 throw PreludeError("Allocation failure");
 
-        argv[0] = STR2CSTR(rb_gv_get("$0"));
+        VALUE argv0 = rb_gv_get("$0");
+        argv[0] = StringValuePtr(argv0);
 
-        ptr = RARRAY(rbargv)->ptr;
-        for ( ptr = RARRAY(rbargv)->ptr, _i = 1; _i < argc; _i++, ptr++ )
-                argv[_i] =  STR2CSTR(*ptr);
+        ptr = RARRAY_PTR(rbargv);
+        for ( ptr = RARRAY_PTR(rbargv), _i = 1; _i < argc; _i++, ptr++ )
+                argv[_i] =  StringValuePtr(*ptr);
 
         argv[_i] = NULL;