Skip to content

Commit 830de4d

Browse files
committed
Various ruby-1.9.x compile fixes including patch from Nibble
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11862 626c5289-ae23-0410-ae9c-e8d60b6d4f22
1 parent 0088043 commit 830de4d

7 files changed

+17
-10
lines changed

CHANGES.current

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
Version 1.3.41 (in progress)
22
============================
33

4+
2010-02-13: wsfulton
5+
[Ruby] A few fixes for compiling under ruby-1.9.x including patch from 'Nibble'.
6+
47
2010-02-13: wsfulton
58
[Ruby] Apply patch from Patrick Bennett to fix RARRAY_LEN and RARRAY_PTR usage for Ruby 1.9.x
69
used in various STL wrappers.

Lib/ruby/rubycontainer.swg

+6-5
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,8 @@ namespace swig
564564
{
565565
Sequence::const_iterator i = $self->begin();
566566
Sequence::const_iterator e = $self->end();
567-
VALUE str = rb_str_new2( swig::type_name< Sequence >() );
567+
const char *type_name = swig::type_name< Sequence >();
568+
VALUE str = rb_str_new2(type_name);
568569
str = rb_str_cat2( str, " [" );
569570
bool comma = false;
570571
VALUE tmp;
@@ -928,7 +929,7 @@ namespace swig
928929
}
929930
catch( std::invalid_argument )
930931
{
931-
rb_raise( rb_eArgError,
932+
rb_raise( rb_eArgError, "%s",
932933
Ruby_Format_TypeError( "",
933934
swig::type_name<Sequence::value_type>(),
934935
__FUNCTION__, idx+2, elem ));
@@ -955,7 +956,7 @@ namespace swig
955956
}
956957
catch( std::invalid_argument )
957958
{
958-
rb_raise( rb_eArgError,
959+
rb_raise( rb_eArgError, "%s",
959960
Ruby_Format_TypeError( "",
960961
swig::type_name<Sequence::value_type>(),
961962
__FUNCTION__, idx+2, elem ));
@@ -1010,7 +1011,7 @@ namespace swig {
10101011
if (seq) {
10111012
VALUE lastErr = rb_gv_get("$!");
10121013
if (lastErr == Qnil) {
1013-
rb_raise(rb_eTypeError, e.what());
1014+
rb_raise(rb_eTypeError, "%s", e.what());
10141015
}
10151016
}
10161017
return SWIG_ERROR;
@@ -1050,7 +1051,7 @@ namespace swig {
10501051
if (seq) {
10511052
VALUE lastErr = rb_gv_get("$!");
10521053
if (lastErr == Qnil) {
1053-
rb_raise(rb_eTypeError, e.what());
1054+
rb_raise(rb_eTypeError, "%s", e.what());
10541055
}
10551056
}
10561057
return SWIG_ERROR;

Lib/ruby/rubycontainer_extended.swg

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
catch ( const std::invalid_argument& )
7777
{
7878
rb_raise(rb_eTypeError,
79-
"Yield block did not return a valid element for " #Container);
79+
"Yield block did not return a valid element for " "Container");
8080
}
8181

8282
return $self;

Lib/ruby/rubyrun.swg

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ static ID swig_call_id = 0;
100100
++swig_virtual_calls;
101101
# define SWIG_RELEASE_STACK --swig_virtual_calls;
102102
# define Ruby_DirectorTypeMismatchException(x) \
103-
rb_raise( rb_eTypeError, x ); return c_result;
103+
rb_raise( rb_eTypeError, "%s", x ); return c_result;
104104

105105
static unsigned int swig_virtual_calls = 0;
106106

Lib/ruby/std_map.i

+2-1
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,8 @@
345345
{
346346
Map::const_iterator i = $self->begin();
347347
Map::const_iterator e = $self->end();
348-
VALUE str = rb_str_new2( swig::type_name< Map >() );
348+
const char *type_name = swig::type_name< Map >();
349+
VALUE str = rb_str_new2( type_name );
349350
str = rb_str_cat2( str, " {" );
350351
bool comma = false;
351352
VALUE tmp;

Lib/ruby/std_multimap.i

+2-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@
115115
{
116116
MultiMap::iterator i = $self->begin();
117117
MultiMap::iterator e = $self->end();
118-
VALUE str = rb_str_new2( swig::type_name< MultiMap >() );
118+
const char *type_name = swig::type_name< MultiMap >();
119+
VALUE str = rb_str_new2( type_name );
119120
str = rb_str_cat2( str, " {" );
120121
VALUE tmp;
121122
while ( i != e )

Lib/ruby/std_pair.i

+2-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@
146146
VALUE inspect() const
147147
{
148148
VALUE tmp;
149-
VALUE str = rb_str_new2( swig::type_name< pair >() );
149+
const char *type_name = swig::type_name< pair >();
150+
VALUE str = rb_str_new2( type_name );
150151
str = rb_str_cat2( str, " (" );
151152
tmp = swig::from( $self->first );
152153
tmp = rb_obj_as_string( tmp );

0 commit comments

Comments
 (0)