[#22195] IO::for_io and TCPServer#bind — GOTOU Yuuzou <gotoyuzo@...>

test_drb が IPv4 射影アドレスが有効な環境でないと動かないこ

16 messages 2003/12/09
[#22198] Re: IO::for_io and TCPServer#bind — matz@... (Yukihiro Matsumoto) 2003/12/09

まつもと ゆきひろです

[#22205] yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org>

StringIO の

24 messages 2003/12/10
[#22206] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22214] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/10

In article <200312100725.hBA7P8Ac011112@sharui.nakada.kanuma.tochigi.jp>,

[#22222] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22234] Re: yet another inconsistency about EOF between StringIO and IO — Masahiro Sakai (酒井政裕) <sakai@...> 2003/12/11

さかいといいます。

[#22262] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/13

In article <20031211.214041.71090239.sakai@tom.sfc.keio.ac.jp>,

[#22328] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

In article <87k751dzyf.fsf@serein.a02.aist.go.jp>,

[#22331] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22334] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

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

[#22343] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22330] core dump with ungetc — Tanaka Akira <akr@...17n.org>

次のように ungetc を使うと core を吐く場合があります。

14 messages 2003/12/23
[#22332] Re: core dump with ungetc — nobu.nakada@... 2003/12/23

なかだです。

[#22366] `to_s': method `to_s' overridden (TypeError) — Tanaka Akira <akr@...17n.org>

そういえば、次の `to_s': method `to_s' overridden (TypeError) というの

12 messages 2003/12/24

[#22385] Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...>

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

19 messages 2003/12/24
[#22387] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22393] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

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

[#22395] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22396] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22397] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

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

[#22418] ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...>

みやむこです。

29 messages 2003/12/25
[#22419] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22420] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22424] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2003/12/25

みやむこです。

[#22491] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2004/01/05

みやむこです。

[ruby-dev:22115] Re: Dir.glob と Shjift_JIS について

From: siena@... (Siena. / SHINAGAWA, Norihide)
Date: 2003-12-02 14:28:22 UTC
List: ruby-dev #22115
Siena. です。

》あと、なかむら(う)さんのパッチと、[ruby-dev:22098] の修正と、あと
》CompareImpl の strncmp を memcmp に変更したのをまとめて
》添付ファイルとして送ります。

ようやく試させていただきました。
OS/2 with EMX でも、このパッチで意図したように動いているようです。
ワイルドカードのメタ文字を 2 バイト目に含む文字や 1 バイトカナなどを
含むファイル名でも試しましたが、試した範囲では問題ありませんでした。

なるほど INT_MAX ですか。sizeof(wchar_t) では小さそうだし、パスよりは
短いのだから MAXPATHLEN かな、いやいや、などと考えてました ^^;

mblen() が -1 を返す場合には対処しなくても大丈夫でしょうか。
他ではどうしているのかと思って grep ruby/*.[ch] してみたところ、
{file,ruby,util}.c 辺りでも特に対処していませんでした。

それよりも、これらで MB_CUR_MAX を使っていますが、
C ロケールで MB_CUR_MAX == 1 となるプラットフォームで
[ruby-dev:22089], [ruby-dev:22092] と同じ問題が起きそうです。
山本さんの試みとは別に、変更しておく必要があると思います。
いずれ MBCS 対応の変更をする時に無用になるでしょうが、
それまでの対処として、とりあえず単純に置き換えてみました。


Index: ruby/defines.h
===================================================================
RCS file: /src/ruby/defines.h,v
retrieving revision 1.35
diff -u -p -2 -r1.35 defines.h
--- ruby/defines.h	25 Nov 2003 12:44:26 -0000	1.35
+++ ruby/defines.h	2 Dec 2003 14:24:03 -0000
@@ -198,3 +198,5 @@ flush_register_windows(void)
 #endif
 
+#define RUBY_MBCHAR_MAXSIZE INT_MAX  /* instead of MB_CUR_MAX */
+
 #endif
Index: ruby/dir.c
===================================================================
RCS file: /src/ruby/dir.c,v
retrieving revision 1.88
diff -u -p -2 -r1.88 dir.c
--- ruby/dir.c	22 Nov 2003 03:59:17 -0000	1.88
+++ ruby/dir.c	2 Dec 2003 14:24:05 -0000
@@ -80,5 +80,5 @@ char *strchr _((char*,char));
 #ifndef CharNext		/* defined as CharNext[AW] on Windows. */
 # if defined(DJGPP)
-#   define CharNext(p) ((p) + mblen(p, MB_CUR_MAX))
+#   define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE))
 # else
 #   define CharNext(p) ((p) + 1)
Index: ruby/file.c
===================================================================
RCS file: /src/ruby/file.c,v
retrieving revision 1.164
diff -u -p -2 -r1.164 file.c
--- ruby/file.c	28 Nov 2003 14:23:31 -0000	1.164
+++ ruby/file.c	2 Dec 2003 14:24:09 -0000
@@ -1395,5 +1395,5 @@ rb_file_s_umask(argc, argv)
 #ifndef CharNext		/* defined as CharNext[AW] on Windows. */
 # if defined(DJGPP)
-#   define CharNext(p) ((p) + mblen(p, MB_CUR_MAX))
+#   define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE))
 # else
 #   define CharNext(p) ((p) + 1)
Index: ruby/ruby.c
===================================================================
RCS file: /src/ruby/ruby.c,v
retrieving revision 1.83
diff -u -p -2 -r1.83 ruby.c
--- ruby/ruby.c	6 Nov 2003 01:17:59 -0000	1.83
+++ ruby/ruby.c	2 Dec 2003 14:24:11 -0000
@@ -227,5 +227,5 @@ translate_char(p, from, to)
 	p = CharNext(p);
 #else
-	p += mblen(p, MB_CUR_MAX);
+	p += mblen(p, RUBY_MBCHAR_MAXSIZE);
 #endif
     }
Index: ruby/util.c
===================================================================
RCS file: /src/ruby/util.c,v
retrieving revision 1.38
diff -u -p -2 -r1.38 util.c
--- ruby/util.c	22 Nov 2003 03:59:18 -0000	1.38
+++ ruby/util.c	2 Dec 2003 14:24:13 -0000
@@ -348,5 +348,5 @@ __crt0_glob_function(char *path)
     buf[len] = '\0';
 
-    for (p = buf; *p; p += mblen(p, MB_CUR_MAX))
+    for (p = buf; *p; p += mblen(p, RUBY_MBCHAR_MAXSIZE))
 	if (*p == '\\')
 	    *p = '/';

---
Siena. <mailto:siena@faculty.chiba-u.jp>

In This Thread