* io.c (rb_file_open_internal): use rb_io_flags_modenum.
(rb_io_reopen): use rb_io_flags_modenum and rb_io_modenum_mode. (rb_io_stdio_file): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9286180079
commit
4046ecde2f
@ -1,3 +1,9 @@
|
||||
Wed Aug 20 22:30:33 2008 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* io.c (rb_file_open_internal): use rb_io_flags_modenum.
|
||||
(rb_io_reopen): use rb_io_flags_modenum and rb_io_modenum_mode.
|
||||
(rb_io_stdio_file): ditto.
|
||||
|
||||
Wed Aug 20 22:28:15 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* proc.c (proc_new): use the given class.
|
||||
|
15
io.c
15
io.c
@ -3976,7 +3976,7 @@ rb_file_open_internal(VALUE io, const char *fname, const char *mode)
|
||||
|
||||
flags = rb_io_mode_flags(mode);
|
||||
return rb_file_open_generic(io, fname,
|
||||
rb_io_mode_modenum(rb_io_flags_mode(flags)),
|
||||
rb_io_flags_modenum(flags),
|
||||
flags,
|
||||
&convconfig,
|
||||
0666);
|
||||
@ -4917,7 +4917,7 @@ static VALUE
|
||||
rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
||||
{
|
||||
VALUE fname, nmode;
|
||||
const char *mode;
|
||||
int modenum;
|
||||
rb_io_t *fptr;
|
||||
|
||||
rb_secure(4);
|
||||
@ -4956,9 +4956,9 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
||||
}
|
||||
|
||||
fptr->path = strdup(StringValueCStr(fname));
|
||||
mode = rb_io_flags_mode(fptr->mode);
|
||||
modenum = rb_io_flags_modenum(fptr->mode);
|
||||
if (fptr->fd < 0) {
|
||||
fptr->fd = rb_sysopen(fptr->path, rb_io_mode_modenum(mode), 0666);
|
||||
fptr->fd = rb_sysopen(fptr->path, modenum, 0666);
|
||||
fptr->stdio_file = 0;
|
||||
return file;
|
||||
}
|
||||
@ -4969,7 +4969,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
||||
fptr->rbuf_off = fptr->rbuf_len = 0;
|
||||
|
||||
if (fptr->stdio_file) {
|
||||
if (freopen(fptr->path, mode, fptr->stdio_file) == 0) {
|
||||
if (freopen(fptr->path, rb_io_modenum_mode(modenum), fptr->stdio_file) == 0) {
|
||||
rb_sys_fail(fptr->path);
|
||||
}
|
||||
fptr->fd = fileno(fptr->stdio_file);
|
||||
@ -4982,7 +4982,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
||||
if (close(fptr->fd) < 0)
|
||||
rb_sys_fail(fptr->path);
|
||||
fptr->fd = -1;
|
||||
fptr->fd = rb_sysopen(fptr->path, rb_io_mode_modenum(mode), 0666);
|
||||
fptr->fd = rb_sysopen(fptr->path, modenum, 0666);
|
||||
}
|
||||
|
||||
return file;
|
||||
@ -5442,7 +5442,8 @@ FILE *
|
||||
rb_io_stdio_file(rb_io_t *fptr)
|
||||
{
|
||||
if (!fptr->stdio_file) {
|
||||
fptr->stdio_file = rb_fdopen(fptr->fd, rb_io_flags_mode(fptr->mode));
|
||||
int modenum = rb_io_flags_modenum(fptr->mode);
|
||||
fptr->stdio_file = rb_fdopen(fptr->fd, rb_io_modenum_mode(modenum));
|
||||
}
|
||||
return fptr->stdio_file;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user