[#28509] Rational — Tadayoshi Funaba <tadf@...>

ふなばです。

49 messages 2006/04/05
[#28510] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28512] Re: Rational — Tadayoshi Funaba <tadf@...> 2006/04/05

ふなばです。

[#28513] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/05

原です。

[#28514] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28517] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28520] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28521] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28525] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28527] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/06

原です。

[#28536] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/10

原です。

[#28537] Re: Rational — keiju@... (石塚圭樹) 2006/04/10

けいじゅ@いしつかです.

[#28589] Float#div and Float#divmod [AGAIN] — Shin-ichiro HARA <sinara@...>

原です。

16 messages 2006/04/23

[ruby-dev:28599] Re: bug of regex.c (1.8)

From: Yukihiro Matsumoto <matz@...>
Date: 2006-04-24 15:07:57 UTC
List: ruby-dev #28599
まつもと ゆきひろです

In message "Re: [ruby-dev:28598] bug of regex.c (1.8)"
    on Mon, 24 Apr 2006 18:10:40 +0900, KIMURA Koichi <kimura.koichi@canon.co.jp> writes:

|[ruby-list:42096] に関してちょっと調べてみました。
|
|re_compile_pattern の中にあるキャラクタクラスの処理の部分で
|
|	else {
|	  if (TRANSLATE_P()) c = (unsigned char)translate[c];
|	  if (had_mbchar == 0 && (!current_mbctype || !had_num_literal)) {
|	    SET_LIST_BIT(c);
|	    had_num_literal = 0;
|	  }
|	  else {
|	    set_list_bits(c, c, b);
|	  }
|	}
|
|というのがありますが、マルチバイトを考慮した処理になっているとき、
|c にはマルチバイト文字の場合には泣き別れになった状態ではなくて
|High byte と low byte が bitwise or された状態で来ています
|(ShiftJISで'知'なら 0x926d)。
|
|しかし、TRANLATE_Pでは対象がマルチバイト文字かどうかの判定をしていない
|ので、マルチバイト文字をそのまま使ってテーブルを引いてしまっています。
|結果、ごみを使って変換することになっています。
|
|とりあえずテーブルを引く前にマルチバイト文字かどうかを判定する必要が
|あるのではないでしょうか?

そのようですね。取り込みます。ありがとうございました。

In This Thread

Prev Next