[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>

Oniguruma についてひとつ要望があります。

51 messages 2002/04/03
[#16744] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/04

Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から

[#16746] Re: sharing sub-regexp — matz@... (Yukihiro Matsumoto) 2002/04/04

まつもと ゆきひろです

[#16753] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/04

In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,

[#16755] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/05

Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から

[#16756] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/05

In article <20020405044506.D4784349@helium.ruby-lang.org>,

[#16822] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/10

Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から

[#16831] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/10

In article <20020410025054.C8DF0915@helium.ruby-lang.org>,

[#16863] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/11

In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,

[#16877] Re: sharing sub-regexp — Shugo Maeda <shugo@...> 2002/04/12

前田です。

[#16887] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/12

In article <87pu15z80q.wl@studly.priv.netlab.jp>,

[#16909] Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/15

前田です。

[#16912] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/15

In article <87g01x1e6m.wl@studly.priv.netlab.jp>,

[#16931] Re: Regexp#to_s — Kazuhiro NISHIYAMA <zn@...> 2002/04/16

西山和広です。

[#16934] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/16

In article <20020416180631.988E.ZN@mbf.nifty.com>,

[#16938] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/17

前田です。

[#16939] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/17

In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,

[#16947] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/18

前田です。

[#16950] Re: Regexp#to_s — matz@... (Yukihiro Matsumoto) 2002/04/18

まつもと ゆきひろです

[#16951] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/18

In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,

[#16960] Re: Regexp#to_s — nobu.nakada@... 2002/04/18

なかだです。

[#16761] StringIO — tadf@...

ふなばです。

43 messages 2002/04/05
[#16786] Re: StringIO — nobu.nakada@... 2002/04/08

なかだです。

[#16802] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#16803] Re: StringIO — nobu.nakada@... 2002/04/09

なかだです。

[#16804] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#17221] Re: StringIO — Wakou Aoyama <wakou@...> 2002/05/30

青山です。

[#17230] Re: StringIO — matz@... (Yukihiro Matsumoto) 2002/05/30

まつもと ゆきひろです

[#17231] Re: StringIO — Tanaka Akira <akr@...17n.org> 2002/05/30

In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,

[#17233] IO#size — Shugo Maeda <shugo@...> 2002/05/30

前田です。

[#17239] Re: IO#size — Tanaka Akira <akr@...17n.org> 2002/05/31

In article <874rgqdt3x.wl@studly.priv.netlab.jp>,

[#17253] Re: IO#size — Wakou Aoyama <wakou@...> 2002/05/31

青山です。

[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>

 1.7 early access kit という仮称で提案した構想ですが、先ほど

27 messages 2002/04/08
[#16796] Re: Ruby Shim — Koji Arai <JCA02266@...> 2002/04/08

新井です。

[#16833] math.c 1.10 — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

23 messages 2002/04/11
[#16834] Re: math.c 1.10 — matz@... (Yukihiro Matsumoto) 2002/04/11

まつもと ゆきひろです

[#16869] Makefiles dependency — nobu.nakada@...

なかだです。

17 messages 2002/04/12

[ruby-dev:16747] Re: ライブラリ拡大計画

From: nobu.nakada@...
Date: 2002-04-04 06:41:58 UTC
List: ruby-dev #16747
なかだです。

At Wed, 3 Apr 2002 20:18:51 +0900,
Takaaki Tateishi wrote:
> > それもちょっと思ったんですが、とりあえず手元で通らない部分だけ。
> 
> ありがとうございます.パッチをそのまま使わせてもらいます.

すいません、ちょっと古いパッチを送ってしまいました。無駄に
StringValue()しすぎてました。それと、1.7の標準ライブラリなので
1.6用のマクロは不要なのでは。


Index: ext/dl/dl.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/dl/dl.c,v
retrieving revision 1.2
diff -u -2 -p -r1.2 dl.c
--- ext/dl/dl.c	2002/04/03 11:59:01	1.2
+++ ext/dl/dl.c	2002/04/03 15:06:36
@@ -324,5 +324,5 @@ c_parray(VALUE v, long *size)
       {
 	char *str, *src;
-	src = StringValuePtr(e);
+	src = RSTRING(e)->ptr;
 	str = dlstrdup(src);
 	ary[i] = (void*)str;
@@ -473,5 +473,5 @@ rb_dl_strdup(VALUE self, VALUE str)
 
   str = rb_String(str);
-  return rb_dlptr_new(strdup(StringValuePtr(str)), RSTRING(str)->len, dlfree);
+  return rb_dlptr_new(strdup(RSTRING(str)->ptr), RSTRING(str)->len, dlfree);
 }
 
@@ -483,5 +483,5 @@ rb_dl_sizeof(VALUE self, VALUE str)
 
 static VALUE
-rb_dl_callback_type(VALUE str)
+rb_dl_callback_type(VALUE *str)
 {
   char *type;
@@ -491,6 +491,6 @@ rb_dl_callback_type(VALUE str)
 
   ftype = 0;
-  type = StringValuePtr(str);
-  len  = RSTRING(str)->len;
+  type = StringValuePtr(*str);
+  len  = RSTRING(*str)->len;
 
   if( len - 1 > MAX_CBARG ){
@@ -568,5 +568,5 @@ rb_dl_set_callback(int argc, VALUE argv[
   };
 
-  key = rb_dl_callback_type(types);
+  key = rb_dl_callback_type(&types);
   entry = rb_hash_aref(DLFuncTable, key);
   if( entry == Qnil ){
@@ -579,5 +579,5 @@ rb_dl_set_callback(int argc, VALUE argv[
     rb_hash_aset(entry, num, proc);
     snprintf(func_name, 1023, "rb_dl_func%d_%d", NUM2INT(key), NUM2INT(num));
-    return rb_dlsym_new(func, func_name, StringValuePtr(types));
+    return rb_dlsym_new(func, func_name, RSTRING(types)->ptr);
   }
   else{
@@ -592,5 +592,5 @@ rb_dl_get_callback(VALUE self, VALUE typ
   VALUE entry;
 
-  key = rb_dl_callback_type(types);
+  key = rb_dl_callback_type(&types);
   entry = rb_hash_aref(DLFuncTable, key);
   if( entry == Qnil ){
Index: ext/dl/sym.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/dl/sym.c,v
retrieving revision 1.2
diff -u -2 -p -r1.2 sym.c
--- ext/dl/sym.c	2002/04/03 11:59:01	1.2
+++ ext/dl/sym.c	2002/04/03 15:07:03
@@ -143,14 +143,5 @@ rb_dlsym_s_new(int argc, VALUE argv[], V
   const char *sname, *stype;
 
-  switch( rb_scan_args(argc, argv, "12", &addr, &name, &type) ){
-  case 3:
-    break;
-  case 2:
-    type = Qnil;
-    break;
-  case 1:
-    name = Qnil;
-    type = Qnil;
-  };
+  rb_scan_args(argc, argv, "12", &addr, &name, &type);
 
   saddr = (void*)(DLNUM2LONG(rb_Integer(addr)));
@@ -271,5 +262,5 @@ rb_dlsym_inspect(VALUE self)
   snprintf(str, str_size - 1,
 	   "#<DL::Symbol:0x%x func=0x%x '%s'>",
-	   sym, sym->func, StringValuePtr(proto));
+	   sym, sym->func, RSTRING(proto)->len);
   val = rb_tainted_str_new2(str);
   dlfree(str);
@@ -419,14 +410,17 @@ rb_dlsym_call(int argc, VALUE argv[], VA
       }
       else{
-	ANY2S(args[i]) = DLSTR(StringValuePtr(argv[i]));
+	if( TYPE(argv[i]) != T_STRING ){
+	  raise(rb_eDLError, "#%d must be a string",i);
+	};
+	ANY2S(args[i]) = DLSTR(argv[i]);
       };
       PUSH_P(ftype);
       break;
     case 's':
-      if( argv[i] == Qnil ){
+      if( TYPE(argv[i]) != T_STRING ){
 	raise(rb_eDLError, "#%d must be a string",i);
       };
       ANY2S(args[i]) = DLSTR(dlmalloc(RSTRING(argv[i])->len + 1));
-      memcpy((char*)(ANY2S(args[i])), StringValuePtr(argv[i]), RSTRING(argv[i])->len + 1);
+      memcpy((char*)(ANY2S(args[i])), RSTRING(argv[i])->ptr, RSTRING(argv[i])->len + 1);
       dtypes[i] = 's';
       PUSH_P(ftype);


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread