Project

General

Profile

This project is closed and read-only.

Actions

Backport #7911

closed

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

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

Added by grafi (Shunsuke Shimizu) over 13 years ago. Updated over 13 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: PDF Atom