Skip to content

Commit 5860ff4

Browse files
committed
Implement rb_obj_as_string correctly.
1 parent c752602 commit 5860ff4

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

lib/cext/include/ruby/intern.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ VALUE rb_str_buf_append(VALUE, VALUE);
731731
VALUE rb_str_buf_cat(VALUE, const char*, long);
732732
VALUE rb_str_buf_cat2(VALUE, const char*);
733733
VALUE rb_str_buf_cat_ascii(VALUE, const char*);
734-
#define rb_obj_as_string(object) rb_any_to_s(object)
734+
VALUE rb_obj_as_string(VALUE object);
735735
VALUE rb_check_string_type(VALUE);
736736
void rb_must_asciicompat(VALUE);
737737
#define rb_str_dup(string) rb_obj_dup(string)

lib/truffle/truffle/cext.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,6 +1662,10 @@ def rb_any_to_s(object)
16621662
Truffle::Type.rb_any_to_s(object)
16631663
end
16641664

1665+
def rb_obj_as_string(object)
1666+
Truffle::Type.rb_obj_as_string(object)
1667+
end
1668+
16651669
def rb_class_inherited_p(ruby_module, object)
16661670
if object.is_a?(Module)
16671671
ruby_module <= object

src/main/c/cext/ruby.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,10 @@ VALUE rb_obj_dup(VALUE object) {
438438
return RUBY_INVOKE(object, "dup");
439439
}
440440

441+
VALUE rb_obj_as_string(VALUE object) {
442+
return RUBY_CEXT_INVOKE("rb_obj_as_string", object);
443+
}
444+
441445
VALUE rb_any_to_s(VALUE object) {
442446
return RUBY_CEXT_INVOKE("rb_any_to_s", object);
443447
}

0 commit comments

Comments
 (0)