[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>
さっき気がついたのですが、元々は
まつもと ゆきひろです
Yukihiro Matsumotoさんの
斉藤です。
Kazuo Saito wrote:
[#25647] C level set_trace_func — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
前田です。
[#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 で、
In message <876513vce0.fsf@serein.a02.aist.go.jp>,
In article <20050211.053825.291449071.gotoyuzo@sawara.does.notwork.org>,
In article <87psz6gcfh.fsf@serein.a02.aist.go.jp>,
In message <87ll9thnng.fsf@serein.a02.aist.go.jp>,
In article <20050213.021305.304099822.gotoyuzo@sawara.does.notwork.org>,
[#25700] BUG on thread and block? — sheepman <sheepman@...>
こんばんは、sheepman です。
[#25712] core dump with GC in rb_thread_save_context — Tanaka Akira <akr@...17n.org>
昨日の夜からとあるプログラム (五月雨) が 4回ばかり core を吐いていて、
[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
[#25726] named capture — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#25741] Oniguruma 3.7.0 — Kazuo Saito <ksaito@...>
斉藤です。
[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>
青木です。
In article <20050224091450P.aamine@loveruby.net>,
In article <1109213650.235317.11155.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1109224128.668484.13752.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:25709] Re: [Oniguruma 3.X] reggnu.c
Yukihiro Matsumoto wrote:
> |re_alloc_pattern()の使用を止めると、
> |reggnu.c全体が不要になると思います。
> |
> |拡張ライブラリの中でGNU APIを利用している
> |可能性がないとは言えませんが、開発版なので
> |なくしても良いのではないでしょうか?
>
> いいんじゃないでしょうか。コミットを待ってます。
コミット直前のmakeで初めて気づいたのですが、
strscanがGNU regex APIを使用していました。
こちらの都合で申し訳ありませんが、
以下のように変更しても構いませんか?
--
小迫
Index: strscan.c
===================================================================
RCS file: /src/ruby/ext/strscan/strscan.c,v
retrieving revision 1.15
diff -u -p -r1.15 strscan.c
--- strscan.c 6 Mar 2004 06:15:11 -0000 1.15
+++ strscan.c 17 Feb 2005 13:20:44 -0000
@@ -171,7 +171,7 @@ static void
strscan_free(p)
struct strscanner *p;
{
- re_free_registers(&(p->regs));
+ onig_region_free(&(p->regs), 0);
memset(p, sizeof(struct strscanner), 0);
free(p);
}
@@ -440,17 +440,15 @@ strscan_do_scan(self, regex, succptr, ge
}
strscan_prepare_re(regex);
if (headonly) {
- ret = re_match(RREGEXP(regex)->ptr,
- CURPTR(p), S_RESTLEN(p),
- 0,
- &(p->regs));
+ ret = onig_match(RREGEXP(regex)->ptr, (UChar* )CURPTR(p),
+ (UChar* )(CURPTR(p) + S_RESTLEN(p)),
+ (UChar* )CURPTR(p), &(p->regs), ONIG_OPTION_NONE);
}
else {
- ret = re_search(RREGEXP(regex)->ptr,
- CURPTR(p), S_RESTLEN(p),
- 0,
- S_RESTLEN(p),
- &(p->regs));
+ ret = onig_search(RREGEXP(regex)->ptr,
+ (UChar* )CURPTR(p), (UChar* )(CURPTR(p) +
S_RESTLEN(p)),
+ (UChar* )CURPTR(p), (UChar* )(CURPTR(p) +
S_RESTLEN(p)),
+ &(p->regs), ONIG_OPTION_NONE);
}
if (ret == -2) rb_raise(ScanError, "regexp buffer overflow");