summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1995-02-24 13:15:43 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:31 +0900
commit881c5a9c320c637ee0f6526b40cf70c1379ab656 (patch)
tree3c0327fc9bdef8f056563ceee400226ac572535b /io.c
parent2f106ab85c4f4e171374aee261f5a12bdd923c41 (diff)
version 0.68v0_68
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.67-0.68.diff.gz Fri Feb 24 13:15:43 1995 Yukihiro Matsumoto (matz@ix-02) * version 0.68 Thu Feb 23 11:19:19 1995 Yukihiro Matsumoto (matz@ix-02) * eval.c: resque節のselfの値が間違っていた. * eval.c(rb_clear_cache): キャッシュのクリアし忘れがあった. * eval.c: 定数のスコープをクラス内の静的スコープに変更した.これに よって,特異メソッドからは参照される定数は,レシーバのクラスでは なく,定義されたスコープのクラスの定数となる. Wed Feb 22 00:51:38 1995 Yukihiro Matsumoto (matz@dyna) * regex.c: ignorecaseを正規表現のコンパイル前に指定しないと正しく 動作しない.修正. * string.c(toupper,tolower): bug fix. * ENV,VERSION: readonly変数から定数へ.
Diffstat (limited to 'io.c')
-rw-r--r--io.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/io.c b/io.c
index 288e86d4d9..ac94f9ee9c 100644
--- a/io.c
+++ b/io.c
@@ -6,7 +6,7 @@
$Date: 1995/01/10 10:42:39 $
created at: Fri Oct 15 18:08:59 JST 1993
- Copyright (C) 1994 Yukihiro Matsumoto
+ Copyright (C) 1995 Yukihiro Matsumoto
************************************************/
@@ -334,9 +334,8 @@ Fio_gets(obj)
if (str) {
fptr->lineno++;
lineno = INT2FIX(fptr->lineno);
- return rb_lastline = (VALUE)str;
}
- return Qnil;
+ return rb_lastline = (VALUE)str;
}
static VALUE
@@ -936,22 +935,18 @@ rb_xstring(str)
struct timeval *time_timeval();
-#ifdef STDSTDIO
-# define READ_PENDING(fp) ((fp)->_cnt != 0)
-#else
-# ifdef __SLBF
-# define READ_PENDING(fp) ((fp)->_r > 0)
-# else
-# ifdef __linux__
+#ifdef _STDIO_USES_IOSTREAM /* GNU libc */
# ifdef _other_gbase
-# define READ_PENDING(fp) ((fp)->_IO_read_ptr < (fp)->_IO_read_end)
+# define READ_DATA_PENDING(fp) ((fp)->_IO_read_ptr < (fp)->_IO_read_end)
# else
-# define READ_PENDING(fp) ((fp)->_gptr < (fp)->_egptr)
+# define READ_DATA_PENDING(fp) ((fp)->_gptr < (fp)->_egptr)
# endif
-# else
+#elif __SLBF
+# define READ_DATA_PENDING(fp) (fp->_r > 0)
+#elif STDSTDIO
+# define READ_DATA_PENDING(fp) (fp->_cnt != 0)
+#else
--------------> You Lose <--------------
-# endif
-# endif
#endif
static VALUE
@@ -968,7 +963,7 @@ Fselect(argc, argv, obj)
int i, max = 0, n;
int interrupt = 0;
- rb_scan_args(argc, argv, argv, "13", &read, &write, &except, &timeout);
+ rb_scan_args(argc, argv, "13", &read, &write, &except, &timeout);
if (timeout) {
tp = time_timeval(timeout);
}
@@ -986,7 +981,7 @@ Fselect(argc, argv, obj)
for (i=0; i<RARRAY(read)->len; i++) {
GetOpenFile(RARRAY(read)->ptr[i], fptr);
FD_SET(fileno(fptr->f), rp);
- if (READ_PENDING(fptr->f)) { /* check for buffered data */
+ if (READ_DATA_PENDING(fptr->f)) { /* check for buffered data */
pending++;
FD_SET(fileno(fptr->f), &pset);
}
@@ -1395,6 +1390,10 @@ Init_IO()
rb_defout = rb_stdout;
rb_define_variable("$>", &rb_defout, Qnil, io_defset, 0);
+ rb_define_const(C_Object, "STDIN", rb_stdin);
+ rb_define_const(C_Object, "STDOUT", rb_stdout);
+ rb_define_const(C_Object, "STDERR", rb_stderr);
+
argf = obj_alloc(C_Object);
rb_define_variable("$<", &argf, Qnil, rb_readonly_hook, 0);
rb_define_variable("$ARGF", &argf, Qnil, rb_readonly_hook, 0);