Actions
Bug #9902
closedRegexp#[] ignores after NUL byte in named capture index
    Bug #9902:
    Regexp#[] ignores after NUL byte in named capture index
  
Description
Regexp#[]に"\0"を含む文字列やシンボルを指定したとき、それ以降が無視されます。
$ ruby -w -e 'p(/(?<a>.*)/.match("foo")["a\0foo"])'
"foo"
$ ruby -w -e 'p Regexp.new("(?<foo\0bar>.*?)").match("xxx")["foo\0bar"]'
-e:1:in `[]': undefined group name reference: foo (IndexError)
	from -e:1:in `<main>'
        
           Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          
          
        
        
      
      - Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r46344.
re.c: fix name with NUL
- re.c (match_aref): should not ignore name after NUL byte.
 [ruby-dev:48275] [Bug #9902]
        
           Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          
          
        
        
      
      - Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED
        
           Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago
          Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago
          
          
        
        
      
      rb_sym2str() doesn't exist in 2.1. Can I use rb_sym_to_s() instead?
        
           Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          
          
        
        
      
      Yes, or rb_id2str(SYM2ID(idx)).
        
           Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago
          Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago
          
          
        
        
      
      - Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE
backported into ruby_2_1 branch at r46869.
        
           Updated by usa (Usaku NAKAMURA) about 11 years ago
          Updated by usa (Usaku NAKAMURA) about 11 years ago
          
          
        
        
      
      - Backport changed from 2.0.0: REQUIRED, 2.1: DONE to 2.0.0: DONE, 2.1: DONE
backported into ruby_2_0_0 at r47334.
Actions