1#include "ruby.h" 2 3static VALUE 4bug_str_cstr_term(VALUE str) 5{ 6 long len; 7 char *s; 8 rb_str_modify(str); 9 len = RSTRING_LEN(str); 10 RSTRING_PTR(str)[len] = 'x'; 11 s = StringValueCStr(str); 12 rb_gc(); 13 return INT2NUM(s[len]); 14} 15 16void 17Init_cstr(VALUE klass) 18{ 19 rb_define_method(klass, "cstr_term", bug_str_cstr_term, 0); 20} 21