豊福です。 ruby本9章のおかげで Jed/Ruby が読めるように なってきました。そこで二つほど質問を。 (もしかしたら version が古いかもしれませんが 御勘弁を) (1) buffer.c | SLang_free_slstring (buf->name); ... | + rb_funcall(rb_buf_list, id_delete, 1, str_new2(buf->name)); SLang_free_slstring した後に buf->name を使うのは危険? (2) rbuffer.c | +static void free_buffer(Buffer *buf) | +{ | + buf = NULL; | +} ... | +VALUE prep_buffer(VALUE class, Buffer *buf, VALUE name) | +{ ... | + data = Data_Wrap_Struct(class, buffer_mark, free_buffer, buf); この | +static void free_buffer(Buffer *buf) | +{ | + buf = NULL; | +} は実質何もやってないように思うんですが。 buf は S-Lang の方が解放してくれると思うので free_buffer() はいらなくて data = Data_Wrap_Struct(class, buffer_mark, 0, buf); でよいでしょうか。 --- 豊福 toyofuku / juice.or.jp