Project

General

Profile

Actions

Bug #3872

closed

is test/-ext-/test_bug-3652.rb correct?

Added by usa (Usaku NAKAMURA) about 14 years ago. Updated over 13 years ago.

Status:
Rejected
Target version:
ruby -v:
ruby 1.9.3dev (2010-09-24 trunk 29329) [i386-mswin32]
Backport:
[ruby-dev:42295]

Description

=begin
手元で表題のテストがFailureになるのでコードを見ながら考えてみたのですが、
ext/-test-/bug-3652/bug.cのbug_str_resize()内では、

(1) rb_str_buf_new()を使って、指定されたcapaを持つStringを生成して、
(2) そのStringのRSTRING_PTRに、指定された文字列を入れ込んで、
(3) そのStringを指定された長さにrb_str_resize()する

という処理をしていますが、(1)で生成されたStringはcapaはセットされていても
lenは0のままなので、(3)でresizeされる際にRSTRING_PTRが別のポインタに変化した
場合、中身はコピーされません。

string.cの1738行目

というわけで、このテスト自体は失敗して当然に見えるのですが、おかしいのは
テストなのか、他の部分なのか、どこでしょうか?
=end

Actions

Also available in: Atom PDF

Like0
Like0