[#35333] [Ruby 1.8 - Bug #221] (Open) Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...>

チケット #221 が報告されました。 (by Anonymous)

31 messages 2008/07/03
[#35521] [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...> 2008/07/15

チケット #221 が更新されました。 (by Anonymous)

[#35522] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/15

とみたです。

[#35527] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/16

とみたです。

[#35537] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Urabe Shyouhei <shyouhei@...> 2008/07/16

卜部です。

[#35355] リリース前ToDoリスト — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

42 messages 2008/07/04
[#35365] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/04

なかだです。

[#35366] Re: リリース前ToDoリスト — Yukihiro Matsumoto <matz@...> 2008/07/04

まつもと ゆきひろです

[#35464] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/13

高尾宏治です。

[#35514] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35515] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/15

なかだです。

[#35519] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35523] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35528] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35531] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35532] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35534] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35551] [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/16

高尾宏治です。

[#35553] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "Keita Yamaguchi" <keita.yamaguchi@...> 2008/07/16

山口と申します。

[#35556] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/17

高尾宏治です。

[#35588] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35592] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35629] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "M.Suzuki" <macobasi@...> 2008/07/22

GyRCJDMkcyRLJEEkTyEjGyhCTS5TdXp1a2kbJEIkRyQ5ISMbKEINCg0KGyRCO24kNyRGJF8kXiQ3

[#35639] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/23

高尾宏治です。

[#35372] patch for ruby-core:17472 — wanabe <s.wanabe@...>

ワナベと申します。

16 messages 2008/07/05
[#35378] Re: patch for ruby-core:17472 — Nobuyoshi Nakada <nobu@...> 2008/07/06

なかだです。

[#35404] ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...>

前田です。

54 messages 2008/07/09
[#35405] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35413] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/09

前田です。

[#35415] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35418] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/10

前田です。

[#35425] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

Shugo Maeda さんは書きました:

[#35427] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "GOTO Kentaro" <gotoken@...> 2008/07/10

どこにぶら下げるのがいいのかわからないので、単に意思表明ですが、

[#35429] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

卜部です。

[#35440] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Akinori MUSHA" <knu@...> 2008/07/11

At Fri, 11 Jul 2008 01:00:29 +0900,

[#35442] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/11

前田です。

[#35451] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

そういえばこの部分に言及するのを忘れていた

[#35454] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/12

前田です。

[#35455] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

卜部です。

[#35456] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/13

前田です。

[#35462] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Tanaka Akira <akr@...> 2008/07/13

In article <704d5db90807121803o5ea67361ucbf968f8a18a845d@mail.gmail.com>,

[#35465] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

Tanaka Akira さんは書きました:

[#35474] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35457] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

卜部です。

[#35472] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35473] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/14

卜部です。

[#35475] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35420] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — Tanaka Akira <akr@...>

In article <200807100931.m6A9V4vi014459@ci.ruby-lang.org>,

11 messages 2008/07/10
[#35421] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35422] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — "U.Nakamura" <usa@...> 2008/07/10

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

[#35423] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35458] make profiler for gc — authorNari <authornari@...>

nariです。

21 messages 2008/07/13
[#35461] Re: make profiler for gc — Tanaka Akira <akr@...> 2008/07/13

In article <1153cee60807122239t19f6ae05vc0c1995c77349377@mail.gmail.com>,

[#35468] Re: make profiler for gc — authorNari <authornari@...> 2008/07/13

nariです。

[#35597] [request]C APIの拡張 — "Goro Fuji" <g.psy.va@...>

藤と申します。

15 messages 2008/07/20

[#35620] non-locale filename encoding — Tanaka Akira <akr@...>

Dir の使いかたとして、ファイル名のエンコーディングが locale

18 messages 2008/07/21
[#35634] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/22

成瀬です。

[#35635] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <48866F3F.80906@airemix.jp>,

[#35642] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/23

成瀬です。

[#35643] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <488771FD.4020800@airemix.jp>,

[#35649] PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/07/24
[#35650] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — Tanaka Akira <akr@...> 2008/07/24

In article <e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com>,

[#35651] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/24

2008/07/25 1:02 Tanaka Akira <akr@fsij.org>:

[#35654] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "NARUSE, Yui" <naruse@...> 2008/07/24

成瀬です。

[#35686] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/29

遠藤です。

[ruby-dev:35685] encoding of Dir#path

From: Tanaka Akira <akr@...>
Date: 2008-07-29 11:43:39 UTC
List: ruby-dev #35685
以下のように、Dir#path で返ってくるもののエンコーディングが、
Dir.open に渡したものと異なるのは変ではないでしょうか。

% ./ruby -Ku -ve '
dirname = "/tmp/\x91\x92\x93"
Dir.mkdir(dirname)
p [dirname, dirname.encoding]
d = Dir.open(dirname)
dirname2 = d.path
p [dirname2, dirname2.encoding]
'
ruby 1.9.0 (2008-07-29 revision 18257) [i686-linux]
["/tmp/\x91\x92\x93", #<Encoding:UTF-8>]
["/tmp/\x91\x92\x93", #<Encoding:EUC-JP>]

というわけで以下のようにするのはどうでしょう。

Index: dir.c
===================================================================
--- dir.c	(revision 18254)
+++ dir.c	(working copy)
@@ -290,16 +290,21 @@ VALUE rb_cDir;
 
 struct dir_data {
     DIR *dir;
-    char *path;
+    VALUE path;
     rb_encoding *extenc;
 };
 
 static void
+mark_dir(struct dir_data *dir)
+{
+    rb_gc_mark(dir->path);
+}
+
+static void
 free_dir(struct dir_data *dir)
 {
     if (dir) {
 	if (dir->dir) closedir(dir->dir);
-	if (dir->path) xfree(dir->path);
     }
     xfree(dir);
 }
@@ -310,10 +315,10 @@ static VALUE
 dir_s_alloc(VALUE klass)
 {
     struct dir_data *dirp;
-    VALUE obj = Data_Make_Struct(klass, struct dir_data, 0, free_dir, dirp);
+    VALUE obj = Data_Make_Struct(klass, struct dir_data, mark_dir, free_dir, dirp);
 
     dirp->dir = NULL;
-    dirp->path = NULL;
+    dirp->path = Qnil;
     dirp->extenc = NULL;
 
     return obj;
@@ -358,9 +363,8 @@ dir_initialize(int argc, VALUE *argv, VA
 
     Data_Get_Struct(dir, struct dir_data, dp);
     if (dp->dir) closedir(dp->dir);
-    if (dp->path) xfree(dp->path);
     dp->dir = NULL;
-    dp->path = NULL;
+    dp->path = Qnil;
     dp->extenc = extencoding;
     dp->dir = opendir(RSTRING_PTR(dirname));
     if (dp->dir == NULL) {
@@ -372,7 +376,7 @@ dir_initialize(int argc, VALUE *argv, VA
 	    rb_sys_fail(RSTRING_PTR(dirname));
 	}
     }
-    dp->path = strdup(RSTRING_PTR(dirname));
+    dp->path = rb_str_dup_frozen(dirname);
 
     return dir;
 }
@@ -392,7 +396,7 @@ static VALUE
 dir_s_open(int argc, VALUE *argv, VALUE klass)
 {
     struct dir_data *dp;
-    VALUE dir = Data_Make_Struct(klass, struct dir_data, 0, free_dir, dp);
+    VALUE dir = Data_Make_Struct(klass, struct dir_data, mark_dir, free_dir, dp);
 
     dir_initialize(argc, argv, dir);
     if (rb_block_given_p()) {
@@ -441,9 +445,9 @@ dir_inspect(VALUE dir)
     struct dir_data *dirp;
 
     Data_Get_Struct(dir, struct dir_data, dirp);
-    if (dirp->path) {
+    if (!NIL_P(dirp->path)) {
 	const char *c = rb_obj_classname(dir);
-	return rb_sprintf("#<%s:%s>", c, dirp->path);
+	return rb_sprintf("#<%s:%s>", c, RSTRING_PTR(dirp->path));
     }
     return rb_funcall(dir, rb_intern("to_s"), 0, 0);
 }
@@ -463,8 +467,8 @@ dir_path(VALUE dir)
     struct dir_data *dirp;
 
     Data_Get_Struct(dir, struct dir_data, dirp);
-    if (!dirp->path) return Qnil;
-    return dir_enc_str(rb_str_new2(dirp->path), dirp);
+    if (NIL_P(dirp->path)) return Qnil;
+    return rb_str_dup(dirp->path);
 }
 
 /*
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next