Akinori MUSHA wrote:
>  printf()系関数の呼び出しにおいて、何が入っているか分からない
> 文字列をそのまま書式文字列として渡しているところが何箇所もある
> ようです。
> 
>  たとえば、次のようにすると core を吐きます。(c) akr
> 
> % ruby1.9 -w -e '/(?:(?:%s)?)?/'
> -e:1: [BUG] Segmentation fault
> ruby 1.9.0 (2006-10-13) [i686-linux]
> 
> あるいは、化けた文字列(「******」部分)が出力されます。
> 
> % ./ruby -w -e '/(?:(?:%s)?)?/'
> -e:1: warning: redundant nested repeat operator: /(?:(?:******?)?/
> -e:1: warning: useless use of a literal in void context

regparse.cの部分については、コミットして頂いても
構わないと思います。

可変長引数の個数が0かどうか判別する方法は、
ないのでしょうか?
もしあれば、rb_warn()の中でも対応できると思いますが。
--
小迫