Forum: Ruby-dev [ruby-trunk - Bug #7911][Open] 特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid sequence

Posted by grafi (Shunsuke Shimizu) (Guest)
on 2013-02-22 11:01
(Received via mailing list)
Issue #7911 has been reported by grafi (Shunsuke Shimizu).

----------------------------------------
Bug #7911: 特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid 
sequenceでエラーが出る
https://bugs.ruby-lang.org/issues/7911

Author: grafi (Shunsuke Shimizu)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2013-02-22 trunk 39383) [x86_64-darwin12.2.1]


=begin
  # coding: utf-8
  File.fnmatch('a'.encode('US-ASCII'), 'あ', File::FNM_CASEFOLD)

というコードを実行した際に、

  test-fnmatch.rb:2:in `fnmatch': invalid byte sequence in US-ASCII 
(ArgumentError)
          from test-fnmatch.rb:2:in `<main>'

というエラーが発生します。UTF-8文字列である'あ'を、'a'と同じUS-ASCIIだとしてcase 
insenstiveなマッチのためにupcaseを試みているのがエラー原因と思われます。

添付のパッチで動作するようになることを確認しました。
=end
Posted by ko1 (Koichi Sasada) (Guest)
on 2013-02-22 18:47
(Received via mailing list)
Issue #7911 has been updated by ko1 (Koichi Sasada).

Category set to M17N
Assignee set to naruse (Yui NARUSE)
Target version set to 2.1.0

naruse さんに 2.1.0 として振りますが、2.0.0 に必要かどうかはご判断下さい。
----------------------------------------
Bug #7911: 特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid 
sequenceでエラーが出る
https://bugs.ruby-lang.org/issues/7911#change-36801

Author: grafi (Shunsuke Shimizu)
Status: Open
Priority: Normal
Assignee: naruse (Yui NARUSE)
Category: M17N
Target version: 2.1.0
ruby -v: ruby 2.0.0dev (2013-02-22 trunk 39383) [x86_64-darwin12.2.1]


=begin
  # coding: utf-8
  File.fnmatch('a'.encode('US-ASCII'), 'あ', File::FNM_CASEFOLD)

というコードを実行した際に、

  test-fnmatch.rb:2:in `fnmatch': invalid byte sequence in US-ASCII 
(ArgumentError)
          from test-fnmatch.rb:2:in `<main>'

というエラーが発生します。UTF-8文字列である'あ'を、'a'と同じUS-ASCIIだとしてcase 
insenstiveなマッチのためにupcaseを試みているのがエラー原因と思われます。

添付のパッチで動作するようになることを確認しました。
=end
Posted by nagachika (Tomoyuki Chikanaga) (Guest)
on 2013-03-09 14:34
(Received via mailing list)
Issue #7911 has been updated by nagachika (Tomoyuki Chikanaga).

Assignee changed from mame (Yusuke Endoh) to nagachika (Tomoyuki 
Chikanaga)


----------------------------------------
Backport #7911: 
特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid 
sequenceでエラーが出る
https://bugs.ruby-lang.org/issues/7911#change-37428

Author: grafi (Shunsuke Shimizu)
Status: Assigned
Priority: Normal
Assignee: nagachika (Tomoyuki Chikanaga)
Category:
Target version:


=begin
  # coding: utf-8
  File.fnmatch('a'.encode('US-ASCII'), 'あ', File::FNM_CASEFOLD)

というコードを実行した際に、

  test-fnmatch.rb:2:in `fnmatch': invalid byte sequence in US-ASCII 
(ArgumentError)
          from test-fnmatch.rb:2:in `<main>'

というエラーが発生します。UTF-8文字列である'あ'を、'a'と同じUS-ASCIIだとしてcase 
insenstiveなマッチのためにupcaseを試みているのがエラー原因と思われます。

添付のパッチで動作するようになることを確認しました。
=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.