summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
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);