[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>

さっき気がついたのですが、元々は

15 messages 2005/02/05

[#25655] openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — Tanaka Akira <akr@...17n.org>

open-uri で https を扱うことを考えていろいろと調べていた所、openssl で、

9 messages 2005/02/08
[#25670] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — GOTOU Yuuzou <gotoyuzo@...> 2005/02/10

In message <876513vce0.fsf@serein.a02.aist.go.jp>,

[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

17 messages 2005/02/18
[#25714] Re: pthread trouble on sighandler — Yukihiro Matsumoto <matz@...> 2005/02/18

まつもと ゆきひろです

[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>

青木です。

14 messages 2005/02/24
[#25756] Re: I/O operation differs signal handler — Tanaka Akira <akr@...17n.org> 2005/02/24

In article <20050224091450P.aamine@loveruby.net>,

[ruby-dev:25711] Re: [Oniguruma 3.X] reggnu.c

From: Minero Aoki <aamine@...>
Date: 2005-02-17 17:12:23 UTC
List: ruby-dev #25711
青木です。

  In mail "[ruby-dev:25709] Re: [Oniguruma 3.X] reggnu.c"
  "K.Kosako" <sndgk393@ybb.ne.jp> wrote:

> > |拡張ライブラリの中でGNU APIを利用している
> > |可能性がないとは言えませんが、開発版なので
> > |なくしても良いのではないでしょうか?
> > 
> > いいんじゃないでしょうか。コミットを待ってます。
> 
> コミット直前のmakeで初めて気づいたのですが、
> strscanがGNU regex APIを使用していました。
> 
> こちらの都合で申し訳ありませんが、
> 以下のように変更しても構いませんか?

それは構わないんですが、実は strscan には struct re_register を
直接いじっている個所があります。ここです。

  /* DANGEROUS; need to synchronize with regex.c */
  static void
  adjust_registers_to_matched(p)
      struct strscanner *p;
  {
      if (p->regs.allocated == 0) {
	  p->regs.beg = ALLOC_N(int, RE_NREGS);
	  p->regs.end = ALLOC_N(int, RE_NREGS);
	  p->regs.allocated = RE_NREGS;
      }
      p->regs.num_regs = 1;
      p->regs.beg[0] = 0;
      p->regs.end[0] = p->curr - p->prev;
  }

こういうコードは鬼車では危険だったりしますか。

なんでこういうことをしているかと言うと、「1 文字マッチ」
「1 バイトマッチ」を正規表現を使わずに実装してるからなんですけど。
-------------------------------------------------------------------
青木峰郎

In This Thread