[#34991] a = 4 ; p((a < 3) or (a > 5)) — Take_tk <ggb03124@...>

 次のものがエラーになるのは何故なんでしょうか?

12 messages 2002/05/06

[#35028] win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp>

小西 弘将です。

20 messages 2002/05/09
[#35034] Re: win32.c 中の my* 関数について — nobu.nakada@... 2002/05/10

なかだです。

[#35042] Re: win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp> 2002/05/11

 小西 弘将です。

[#35044] Re: win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp> 2002/05/11

 小西 弘将です。

[#35045] Re: win32.c 中の my* 関数について — "U.Nakamura" <usa@...> 2002/05/11

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

[#35046] Re: win32.c 中の my* 関数について — nobu.nakada@... 2002/05/11

なかだです。

[#35047] Re: win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp> 2002/05/11

 小西 弘将です。

[#35048] Re: win32.c 中の my* 関数について — nobu.nakada@... 2002/05/11

なかだです。

[#35062] Re: win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp> 2002/05/12

 小西 弘将です。

[#35052] ruby_lib/html/ — Wakou Aoyama <wakou@...>

青山です。

32 messages 2002/05/11
[#35057] Re: ruby_lib/html/ — TN <nyonyoru@...> 2002/05/12

 にょにょると申します。(ここハンドル投稿ダメなのでしょうか?ダメなら本

[#35063] Re: ruby_lib/html/ — Wakou Aoyama <wakou@...> 2002/05/12

青山です。

[#35074] Re: ruby_lib/html/ — nnr <nyonyoru@...> 2002/05/12

 にょにょるです。オンラインではずっとこれを使っているので、これでいきま

[#35054] 「 Ruby/GTK プログラミング入門」 — Noritsugu Nakamura <nnakamur@...>

14 messages 2002/05/12

[#35102] ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — Kouhei Sutou (須藤功平) <kou@...>

はじめまして、須藤です。

57 messages 2002/05/13
[#35115] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/05/14

なひです。

[#35125] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — Kouhei Sutou (須藤功平) <kou@...> 2002/05/14

須藤です。

[#35130] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/05/15

なひです。

[#35140] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — Kouhei Sutou (須藤功平) <kou@...> 2002/05/15

須藤です。

[#35141] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — nobu.nakada@... 2002/05/15

なかだです。

[#35157] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — TAKAHASHI Masayoshi <maki@...> 2002/05/15

高橋征義です。

[#35159] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/05/16

なひです。

[#35160] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/05/16

なひです。

[#35162] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — matz@... (Yukihiro Matsumoto) 2002/05/16

まつもと ゆきひろです

[#35186] Re: ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/05/17

なひです。

[#35192] Re: ANNOUNCE: REXML のドキュメント — siena@... (Siena.) 2002/05/17

Siena. です。

[#35253] ((1.2)..(3.4)).to_a — Take_tk <ggb03124@...>

1.2..3.4 を配列にすると、その範囲に属しない整数「1」が含まれるという点に

29 messages 2002/05/25
[#35257] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto) 2002/05/25

まつもと ゆきひろです

[#35265] Re: ((1.2)..(3.4)).to_a — Take_tk <ggb03124@...> 2002/05/27

たけ(tk)です。

[#35272] Re: ((1.2)..(3.4)).to_a — siena@... (Siena.) 2002/05/27

Siena. です。

[#35279] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto) 2002/05/28

まつもと ゆきひろです

[ruby-list:35033] Re: FILE_READPTR

From: nobu.nakada@...
Date: 2002-05-10 00:14:52 UTC
List: ruby-list #35033
なかだです。

# 青木さんはruby-dev入ってましたっけ。

At Fri, 10 May 2002 00:21:23 +0900,
Daisuke Aoki wrote:
> [ruby-list:35011]で言われているように入力の改行コードが CRLF の場合に、
> さらに、setup.exe で設定されるレジストリの設定(マウントのフラグ)が
> なされていない場合に起きることがわかりました。
> この場合、出力の改行コードは LF になっています。

再現できました。これでどうでしょう。


Index: io.c
===================================================================
RCS file: /cvs/ruby/src/ruby/io.c,v
retrieving revision 1.137
diff -u -2 -p -r1.137 io.c
--- io.c	2002/05/02 07:50:36	1.137
+++ io.c	2002/05/09 20:39:13
@@ -704,4 +704,35 @@ io_read(argc, argv, io)
 }
 
+#if defined __CYGWIN__
+#define CRLF_CONVERT
+#endif
+
+#ifdef CRLF_CONVERT
+#if defined __CYGWIN__ && defined __SCLE
+#define TEXT_MODE(fptr) ((fptr)->f->_flags & __SCLE)
+#else
+#define TEXT_MODE(fptr) (!((fptr)->mode & FMODE_BINMODE))
+#endif
+static int
+uncountcr(ptr, len)
+    const char *ptr;
+    int len;
+{
+    int count = len;
+    while (len-- > 1) {
+	if (*ptr++ == '\r' && *ptr == '\n') {
+	    ptr++;
+	    --len;
+	    --count;
+	}
+    }
+    if (len == 0 && *ptr == '\r') --count; /* may wait '\n' */
+    return count;
+}
+#else
+#define TEXT_MODE(fptr) (0)
+#define uncountcr(ptr, len) (len)
+#endif
+
 static int
 appendline(fptr, delim, strp)
@@ -722,9 +753,12 @@ appendline(fptr, delim, strp)
 #ifdef READ_DATA_PENDING_PTR
 	int pending = READ_DATA_PENDING_COUNT(f);
-	if (pending > 0) {
+	while (pending > 0) {
 	    const char *p = READ_DATA_PENDING_PTR(f);
 	    const char *e = memchr(p, delim, pending);
 	    long last = 0;
 	    if (e) pending = e - p + 1;
+#ifdef CRLF_CONVERT
+	    if (TEXT_MODE(fptr)) pending = uncountcr(p, pending);
+#endif
 	    if (!NIL_P(str)) {
 		last = RSTRING(str)->len;
@@ -736,7 +770,17 @@ appendline(fptr, delim, strp)
 	    if (c != EOF) {
 		RSTRING(str)->ptr[last++] = c;
+	    }
+	    pending = fread(RSTRING(str)->ptr + last, 1, pending, f);
+#ifdef CRLF_CONVERT
+	    if (TEXT_MODE(fptr)) {
+		rb_str_resize(str, last + pending);
+		if (RSTRING(str)->ptr[last + pending - 1] == delim)
+		    return delim;
+		pending = READ_DATA_PENDING_COUNT(f);
+		continue;
 	    }
-	    fread(RSTRING(str)->ptr + last, 1, pending, f); /* must not fail */
+#endif
 	    if (e) return delim;
+	    break;
 	}
 	rb_thread_wait_fd(fileno(f));
@@ -800,9 +844,18 @@ swallow(fptr, term)
 	    const char *p = READ_DATA_PENDING_PTR(f);
 	    int i;
+#ifdef CRLF_CONVERT
+	    if (TEXT_MODE(fptr)) {
+		if ((c = getc(f)) != term) {
+		    ungetc(c, f);
+		    return Qtrue;
+		}
+		continue;
+	    }
+#endif
 	    if (cnt > sizeof buf) cnt = sizeof buf;
 	    if (*p != term) return Qtrue;
 	    i = cnt;
 	    while (--i && *++p == term);
-	    if (!fread(buf, 1, cnt - i, f)) /* must not fail */
+	    if (!(cnt = fread(buf, 1, cnt - i, f))) /* must not fail */
 		rb_sys_fail(fptr->path);
 	}


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

In This Thread