Project

General

Profile

Actions

Backport #7911

closed

特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid sequenceでエラーが出る

Added by grafi (Shunsuke Shimizu) almost 12 years ago. Updated almost 12 years ago.


Description

=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 '

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

添付のパッチで動作するようになることを確認しました。
=end


Files

fix-fnmatch.patch (967 Bytes) fix-fnmatch.patch grafi (Shunsuke Shimizu), 02/22/2013 07:00 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0