1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* file.c, gc.c, io.c, ruby.h, rubyio.h, win32/win32.h (rb_io_t):

renamed from OpenFile.

* ext/dl/cptr.c, ext/io/wait/wait.c, ext/openssl/ossl.h,
  ext/openssl/ossl_bio.c, ext/openssl/ossl_ssl.c, ext/pty/pty.c,
  ext/readline/readline.c, ext/socket/socket.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-02-24 10:30:50 +00:00
parent 793c649f65
commit 5b10c170e5
15 changed files with 176 additions and 174 deletions

View file

@ -1,3 +1,12 @@
Sat Feb 24 19:30:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c, gc.c, io.c, ruby.h, rubyio.h, win32/win32.h (rb_io_t):
renamed from OpenFile.
* ext/dl/cptr.c, ext/io/wait/wait.c, ext/openssl/ossl.h,
ext/openssl/ossl_bio.c, ext/openssl/ossl_ssl.c, ext/pty/pty.c,
ext/readline/readline.c, ext/socket/socket.c: ditto.
Sat Feb 24 19:28:23 2007 Minero Aoki <aamine@loveruby.net> Sat Feb 24 19:28:23 2007 Minero Aoki <aamine@loveruby.net>
* bootstraptest/runner.rb: new option -v,--verbose. * bootstraptest/runner.rb: new option -v,--verbose.

View file

@ -418,7 +418,7 @@ VALUE
rb_dlptr_s_to_ptr(VALUE self, VALUE val) rb_dlptr_s_to_ptr(VALUE self, VALUE val)
{ {
if( rb_obj_is_kind_of(val, rb_cIO) == Qtrue ){ if( rb_obj_is_kind_of(val, rb_cIO) == Qtrue ){
OpenFile *fptr; rb_io_t *fptr;
FILE *fp; FILE *fp;
GetOpenFile(val, fptr); GetOpenFile(val, fptr);
#if RUBY_VERSION_CODE >= 190 #if RUBY_VERSION_CODE >= 190

View file

@ -50,7 +50,7 @@ EXTERN struct timeval rb_time_interval _((VALUE time));
static VALUE static VALUE
io_ready_p(VALUE io) io_ready_p(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
ioctl_arg n; ioctl_arg n;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -90,7 +90,7 @@ wait_readable(VALUE p)
static VALUE static VALUE
io_wait(int argc, VALUE *argv, VALUE io) io_wait(int argc, VALUE *argv, VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct wait_readable_arg arg; struct wait_readable_arg arg;
int fd, i; int fd, i;
ioctl_arg n; ioctl_arg n;

View file

@ -40,7 +40,6 @@ extern "C" {
#endif #endif
#if defined(_WIN32) #if defined(_WIN32)
# define OpenFile WINAPI_OpenFile
# define OSSL_NO_CONF_API 1 # define OSSL_NO_CONF_API 1
# include <winsock2.h> # include <winsock2.h>
#endif #endif
@ -65,9 +64,6 @@ extern "C" {
# define OSSL_OCSP_ENABLED # define OSSL_OCSP_ENABLED
# include <openssl/ocsp.h> # include <openssl/ocsp.h>
#endif #endif
#if defined(_WIN32)
# undef OpenFile
#endif
/* /*
* Common Module * Common Module

View file

@ -19,7 +19,7 @@ ossl_obj2bio(VALUE obj)
BIO *bio; BIO *bio;
if (TYPE(obj) == T_FILE) { if (TYPE(obj) == T_FILE) {
OpenFile *fptr; rb_io_t *fptr;
FILE *fp; FILE *fp;
int fd; int fd;

View file

@ -533,7 +533,7 @@ ossl_ssl_setup(VALUE self)
VALUE io, v_ctx, cb; VALUE io, v_ctx, cb;
SSL_CTX *ctx; SSL_CTX *ctx;
SSL *ssl; SSL *ssl;
OpenFile *fptr; rb_io_t *fptr;
Data_Get_Struct(self, SSL, ssl); Data_Get_Struct(self, SSL, ssl);
if(!ssl){ if(!ssl){
@ -573,7 +573,7 @@ static VALUE
ossl_start_ssl(VALUE self, int (*func)()) ossl_start_ssl(VALUE self, int (*func)())
{ {
SSL *ssl; SSL *ssl;
OpenFile *fptr; rb_io_t *fptr;
int ret; int ret;
Data_Get_Struct(self, SSL, ssl); Data_Get_Struct(self, SSL, ssl);
@ -617,7 +617,7 @@ ossl_ssl_read(int argc, VALUE *argv, VALUE self)
SSL *ssl; SSL *ssl;
int ilen, nread = 0; int ilen, nread = 0;
VALUE len, str; VALUE len, str;
OpenFile *fptr; rb_io_t *fptr;
rb_scan_args(argc, argv, "11", &len, &str); rb_scan_args(argc, argv, "11", &len, &str);
ilen = NUM2INT(len); ilen = NUM2INT(len);
@ -673,7 +673,7 @@ ossl_ssl_write(VALUE self, VALUE str)
{ {
SSL *ssl; SSL *ssl;
int nwrite = 0; int nwrite = 0;
OpenFile *fptr; rb_io_t *fptr;
StringValue(str); StringValue(str);
Data_Get_Struct(self, SSL, ssl); Data_Get_Struct(self, SSL, ssl);

View file

@ -402,7 +402,7 @@ pty_getpty(int argc, VALUE *argv, VALUE self)
VALUE res; VALUE res;
struct pty_info info; struct pty_info info;
struct pty_info thinfo; struct pty_info thinfo;
OpenFile *wfptr,*rfptr; rb_io_t *wfptr,*rfptr;
VALUE rport = rb_obj_alloc(rb_cFile); VALUE rport = rb_obj_alloc(rb_cFile);
VALUE wport = rb_obj_alloc(rb_cFile); VALUE wport = rb_obj_alloc(rb_cFile);

View file

@ -104,7 +104,7 @@ readline_readline(int argc, VALUE *argv, VALUE self)
static VALUE static VALUE
readline_s_set_input(VALUE self, VALUE input) readline_s_set_input(VALUE self, VALUE input)
{ {
OpenFile *ifp; rb_io_t *ifp;
rb_secure(4); rb_secure(4);
Check_Type(input, T_FILE); Check_Type(input, T_FILE);
@ -116,7 +116,7 @@ readline_s_set_input(VALUE self, VALUE input)
static VALUE static VALUE
readline_s_set_output(VALUE self, VALUE output) readline_s_set_output(VALUE self, VALUE output)
{ {
OpenFile *ofp; rb_io_t *ofp;
rb_secure(4); rb_secure(4);
Check_Type(output, T_FILE); Check_Type(output, T_FILE);

View file

@ -232,7 +232,7 @@ ruby_getnameinfo__aix(sa, salen, host, hostlen, serv, servlen, flags)
static VALUE static VALUE
init_sock(VALUE sock, int fd) init_sock(VALUE sock, int fd)
{ {
OpenFile *fp; rb_io_t *fp;
MakeOpenFile(sock, fp); MakeOpenFile(sock, fp);
fp->fd = fd; fp->fd = fd;
@ -248,7 +248,7 @@ init_sock(VALUE sock, int fd)
static VALUE static VALUE
bsock_s_for_fd(VALUE klass, VALUE fd) bsock_s_for_fd(VALUE klass, VALUE fd)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE sock = init_sock(rb_obj_alloc(klass), NUM2INT(fd)); VALUE sock = init_sock(rb_obj_alloc(klass), NUM2INT(fd));
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
@ -261,7 +261,7 @@ bsock_shutdown(int argc, VALUE *argv, VALUE sock)
{ {
VALUE howto; VALUE howto;
int how; int how;
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
rb_raise(rb_eSecurityError, "Insecure: can't shutdown socket"); rb_raise(rb_eSecurityError, "Insecure: can't shutdown socket");
@ -285,7 +285,7 @@ bsock_shutdown(int argc, VALUE *argv, VALUE sock)
static VALUE static VALUE
bsock_close_read(VALUE sock) bsock_close_read(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
rb_raise(rb_eSecurityError, "Insecure: can't close socket"); rb_raise(rb_eSecurityError, "Insecure: can't close socket");
@ -303,7 +303,7 @@ bsock_close_read(VALUE sock)
static VALUE static VALUE
bsock_close_write(VALUE sock) bsock_close_write(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
rb_raise(rb_eSecurityError, "Insecure: can't close socket"); rb_raise(rb_eSecurityError, "Insecure: can't close socket");
@ -367,7 +367,7 @@ static VALUE
bsock_setsockopt(VALUE sock, VALUE lev, VALUE optname, VALUE val) bsock_setsockopt(VALUE sock, VALUE lev, VALUE optname, VALUE val)
{ {
int level, option; int level, option;
OpenFile *fptr; rb_io_t *fptr;
int i; int i;
char *v; char *v;
int vlen; int vlen;
@ -449,7 +449,7 @@ bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname)
int level, option; int level, option;
socklen_t len; socklen_t len;
char *buf; char *buf;
OpenFile *fptr; rb_io_t *fptr;
level = NUM2INT(lev); level = NUM2INT(lev);
option = NUM2INT(optname); option = NUM2INT(optname);
@ -471,7 +471,7 @@ bsock_getsockname(VALUE sock)
{ {
char buf[1024]; char buf[1024];
socklen_t len = sizeof buf; socklen_t len = sizeof buf;
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
if (getsockname(fptr->fd, (struct sockaddr*)buf, &len) < 0) if (getsockname(fptr->fd, (struct sockaddr*)buf, &len) < 0)
@ -484,7 +484,7 @@ bsock_getpeername(VALUE sock)
{ {
char buf[1024]; char buf[1024];
socklen_t len = sizeof buf; socklen_t len = sizeof buf;
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
if (getpeername(fptr->fd, (struct sockaddr*)buf, &len) < 0) if (getpeername(fptr->fd, (struct sockaddr*)buf, &len) < 0)
@ -497,7 +497,7 @@ bsock_send(int argc, VALUE *argv, VALUE sock)
{ {
VALUE mesg, to; VALUE mesg, to;
VALUE flags; VALUE flags;
OpenFile *fptr; rb_io_t *fptr;
int fd, n; int fd, n;
rb_secure(4); rb_secure(4);
@ -532,7 +532,7 @@ bsock_send(int argc, VALUE *argv, VALUE sock)
static VALUE static VALUE
bsock_do_not_reverse_lookup(VALUE sock) bsock_do_not_reverse_lookup(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
return (fptr->mode & FMODE_NOREVLOOKUP) ? Qtrue : Qfalse; return (fptr->mode & FMODE_NOREVLOOKUP) ? Qtrue : Qfalse;
@ -541,7 +541,7 @@ bsock_do_not_reverse_lookup(VALUE sock)
static VALUE static VALUE
bsock_do_not_reverse_lookup_set(VALUE sock, VALUE state) bsock_do_not_reverse_lookup_set(VALUE sock, VALUE state)
{ {
OpenFile *fptr; rb_io_t *fptr;
rb_secure(4); rb_secure(4);
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
@ -569,7 +569,7 @@ enum sock_recv_type {
static VALUE static VALUE
s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from) s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE str; VALUE str;
char buf[1024]; char buf[1024];
socklen_t alen = sizeof buf; socklen_t alen = sizeof buf;
@ -640,7 +640,7 @@ s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
static VALUE static VALUE
s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from) s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE str; VALUE str;
char buf[1024]; char buf[1024];
socklen_t alen = sizeof buf; socklen_t alen = sizeof buf;
@ -1356,7 +1356,7 @@ socks_init(VALUE sock, VALUE host, VALUE serv)
static VALUE static VALUE
socks_s_close(VALUE sock) socks_s_close(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
rb_raise(rb_eSecurityError, "Insecure: can't close socket"); rb_raise(rb_eSecurityError, "Insecure: can't close socket");
@ -1455,7 +1455,7 @@ tcp_svr_init(int argc, VALUE *argv, VALUE sock)
} }
static VALUE static VALUE
s_accept_nonblock(VALUE klass, OpenFile *fptr, struct sockaddr *sockaddr, socklen_t *len) s_accept_nonblock(VALUE klass, rb_io_t *fptr, struct sockaddr *sockaddr, socklen_t *len)
{ {
int fd2; int fd2;
@ -1506,7 +1506,7 @@ s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len)
static VALUE static VALUE
tcp_accept(VALUE sock) tcp_accept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_storage from; struct sockaddr_storage from;
socklen_t fromlen; socklen_t fromlen;
@ -1548,7 +1548,7 @@ tcp_accept(VALUE sock)
static VALUE static VALUE
tcp_accept_nonblock(VALUE sock) tcp_accept_nonblock(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_storage from; struct sockaddr_storage from;
socklen_t fromlen; socklen_t fromlen;
@ -1561,7 +1561,7 @@ tcp_accept_nonblock(VALUE sock)
static VALUE static VALUE
tcp_sysaccept(VALUE sock) tcp_sysaccept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_storage from; struct sockaddr_storage from;
socklen_t fromlen; socklen_t fromlen;
@ -1588,7 +1588,7 @@ init_unixsock(VALUE sock, VALUE path, int server)
{ {
struct sockaddr_un sockaddr; struct sockaddr_un sockaddr;
int fd, status; int fd, status;
OpenFile *fptr; rb_io_t *fptr;
SafeStringValue(path); SafeStringValue(path);
fd = ruby_socket(AF_UNIX, SOCK_STREAM, 0); fd = ruby_socket(AF_UNIX, SOCK_STREAM, 0);
@ -1640,7 +1640,7 @@ init_unixsock(VALUE sock, VALUE path, int server)
static VALUE static VALUE
ip_addr(VALUE sock) ip_addr(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_storage addr; struct sockaddr_storage addr;
socklen_t len = sizeof addr; socklen_t len = sizeof addr;
@ -1654,7 +1654,7 @@ ip_addr(VALUE sock)
static VALUE static VALUE
ip_peeraddr(VALUE sock) ip_peeraddr(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_storage addr; struct sockaddr_storage addr;
socklen_t len = sizeof addr; socklen_t len = sizeof addr;
@ -1726,7 +1726,7 @@ udp_connect_internal(struct udp_arg *arg)
static VALUE static VALUE
udp_connect(VALUE sock, VALUE host, VALUE port) udp_connect(VALUE sock, VALUE host, VALUE port)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct udp_arg arg; struct udp_arg arg;
VALUE ret; VALUE ret;
@ -1743,7 +1743,7 @@ udp_connect(VALUE sock, VALUE host, VALUE port)
static VALUE static VALUE
udp_bind(VALUE sock, VALUE host, VALUE port) udp_bind(VALUE sock, VALUE host, VALUE port)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct addrinfo *res0, *res; struct addrinfo *res0, *res;
rb_secure(3); rb_secure(3);
@ -1765,7 +1765,7 @@ static VALUE
udp_send(int argc, VALUE *argv, VALUE sock) udp_send(int argc, VALUE *argv, VALUE sock)
{ {
VALUE mesg, flags, host, port; VALUE mesg, flags, host, port;
OpenFile *fptr; rb_io_t *fptr;
int n; int n;
struct addrinfo *res0, *res; struct addrinfo *res0, *res;
@ -1860,7 +1860,7 @@ unixpath(struct sockaddr_un *sockaddr, socklen_t len)
static VALUE static VALUE
unix_path(VALUE sock) unix_path(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
if (fptr->path == 0) { if (fptr->path == 0) {
@ -1902,7 +1902,7 @@ unix_send_io(VALUE sock, VALUE val)
{ {
#if defined(HAVE_SENDMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS) #if defined(HAVE_SENDMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
int fd; int fd;
OpenFile *fptr; rb_io_t *fptr;
struct msghdr msg; struct msghdr msg;
struct iovec vec[1]; struct iovec vec[1];
char buf[1]; char buf[1];
@ -1915,7 +1915,7 @@ unix_send_io(VALUE sock, VALUE val)
#endif #endif
if (rb_obj_is_kind_of(val, rb_cIO)) { if (rb_obj_is_kind_of(val, rb_cIO)) {
OpenFile *valfptr; rb_io_t *valfptr;
GetOpenFile(val, valfptr); GetOpenFile(val, valfptr);
fd = valfptr->fd; fd = valfptr->fd;
} }
@ -1966,7 +1966,7 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock)
{ {
#if defined(HAVE_RECVMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS) #if defined(HAVE_RECVMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
VALUE klass, mode; VALUE klass, mode;
OpenFile *fptr; rb_io_t *fptr;
struct msghdr msg; struct msghdr msg;
struct iovec vec[2]; struct iovec vec[2];
char buf[1]; char buf[1];
@ -2069,7 +2069,7 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock)
static VALUE static VALUE
unix_accept(VALUE sock) unix_accept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_un from; struct sockaddr_un from;
socklen_t fromlen; socklen_t fromlen;
@ -2111,7 +2111,7 @@ unix_accept(VALUE sock)
static VALUE static VALUE
unix_accept_nonblock(VALUE sock) unix_accept_nonblock(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_un from; struct sockaddr_un from;
socklen_t fromlen; socklen_t fromlen;
@ -2124,7 +2124,7 @@ unix_accept_nonblock(VALUE sock)
static VALUE static VALUE
unix_sysaccept(VALUE sock) unix_sysaccept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_un from; struct sockaddr_un from;
socklen_t fromlen; socklen_t fromlen;
@ -2145,7 +2145,7 @@ unixaddr(struct sockaddr_un *sockaddr, socklen_t len)
static VALUE static VALUE
unix_addr(VALUE sock) unix_addr(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_un addr; struct sockaddr_un addr;
socklen_t len = sizeof addr; socklen_t len = sizeof addr;
@ -2159,7 +2159,7 @@ unix_addr(VALUE sock)
static VALUE static VALUE
unix_peeraddr(VALUE sock) unix_peeraddr(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct sockaddr_un addr; struct sockaddr_un addr;
socklen_t len = sizeof addr; socklen_t len = sizeof addr;
@ -2431,7 +2431,7 @@ unix_s_socketpair(int argc, VALUE *argv, VALUE klass)
static VALUE static VALUE
sock_connect(VALUE sock, VALUE addr) sock_connect(VALUE sock, VALUE addr)
{ {
OpenFile *fptr; rb_io_t *fptr;
int fd, n; int fd, n;
StringValue(addr); StringValue(addr);
@ -2487,7 +2487,7 @@ sock_connect(VALUE sock, VALUE addr)
static VALUE static VALUE
sock_connect_nonblock(VALUE sock, VALUE addr) sock_connect_nonblock(VALUE sock, VALUE addr)
{ {
OpenFile *fptr; rb_io_t *fptr;
int n; int n;
StringValue(addr); StringValue(addr);
@ -2584,7 +2584,7 @@ sock_connect_nonblock(VALUE sock, VALUE addr)
static VALUE static VALUE
sock_bind(VALUE sock, VALUE addr) sock_bind(VALUE sock, VALUE addr)
{ {
OpenFile *fptr; rb_io_t *fptr;
StringValue(addr); StringValue(addr);
GetOpenFile(sock, fptr); GetOpenFile(sock, fptr);
@ -2667,7 +2667,7 @@ sock_bind(VALUE sock, VALUE addr)
static VALUE static VALUE
sock_listen(VALUE sock, VALUE log) sock_listen(VALUE sock, VALUE log)
{ {
OpenFile *fptr; rb_io_t *fptr;
int backlog; int backlog;
rb_secure(4); rb_secure(4);
@ -2857,7 +2857,7 @@ sock_recvfrom_nonblock(int argc, VALUE *argv, VALUE sock)
static VALUE static VALUE
sock_accept(VALUE sock) sock_accept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE sock2; VALUE sock2;
char buf[1024]; char buf[1024];
socklen_t len = sizeof buf; socklen_t len = sizeof buf;
@ -2919,7 +2919,7 @@ sock_accept(VALUE sock)
static VALUE static VALUE
sock_accept_nonblock(VALUE sock) sock_accept_nonblock(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE sock2; VALUE sock2;
char buf[1024]; char buf[1024];
socklen_t len = sizeof buf; socklen_t len = sizeof buf;
@ -2971,7 +2971,7 @@ sock_accept_nonblock(VALUE sock)
static VALUE static VALUE
sock_sysaccept(VALUE sock) sock_sysaccept(VALUE sock)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE sock2; VALUE sock2;
char buf[1024]; char buf[1024];
socklen_t len = sizeof buf; socklen_t len = sizeof buf;

24
file.c
View file

@ -151,7 +151,7 @@ apply2files(void (*func)(const char *, void *), VALUE vargs, void *arg)
static VALUE static VALUE
rb_file_path(VALUE obj) rb_file_path(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
fptr = RFILE(rb_io_taint_check(obj))->fptr; fptr = RFILE(rb_io_taint_check(obj))->fptr;
rb_io_check_initialized(fptr); rb_io_check_initialized(fptr);
@ -627,7 +627,7 @@ rb_stat(VALUE file, struct stat *st)
rb_secure(2); rb_secure(2);
tmp = rb_check_convert_type(file, T_FILE, "IO", "to_io"); tmp = rb_check_convert_type(file, T_FILE, "IO", "to_io");
if (!NIL_P(tmp)) { if (!NIL_P(tmp)) {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(tmp, fptr); GetOpenFile(tmp, fptr);
return fstat(fptr->fd, st); return fstat(fptr->fd, st);
@ -645,7 +645,7 @@ w32_io_info(VALUE *file, BY_HANDLE_FILE_INFORMATION *st)
tmp = rb_check_convert_type(*file, T_FILE, "IO", "to_io"); tmp = rb_check_convert_type(*file, T_FILE, "IO", "to_io");
if (!NIL_P(tmp)) { if (!NIL_P(tmp)) {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(tmp, fptr); GetOpenFile(tmp, fptr);
f = (HANDLE)rb_w32_get_osfhandle(fptr->fd); f = (HANDLE)rb_w32_get_osfhandle(fptr->fd);
@ -710,7 +710,7 @@ rb_file_s_stat(VALUE klass, VALUE fname)
static VALUE static VALUE
rb_io_stat(VALUE obj) rb_io_stat(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct stat st; struct stat st;
GetOpenFile(obj, fptr); GetOpenFile(obj, fptr);
@ -770,7 +770,7 @@ static VALUE
rb_file_lstat(VALUE obj) rb_file_lstat(VALUE obj)
{ {
#ifdef HAVE_LSTAT #ifdef HAVE_LSTAT
OpenFile *fptr; rb_io_t *fptr;
struct stat st; struct stat st;
rb_secure(2); rb_secure(2);
@ -1609,7 +1609,7 @@ rb_file_s_atime(VALUE klass, VALUE fname)
static VALUE static VALUE
rb_file_atime(VALUE obj) rb_file_atime(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct stat st; struct stat st;
GetOpenFile(obj, fptr); GetOpenFile(obj, fptr);
@ -1652,7 +1652,7 @@ rb_file_s_mtime(VALUE klass, VALUE fname)
static VALUE static VALUE
rb_file_mtime(VALUE obj) rb_file_mtime(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct stat st; struct stat st;
GetOpenFile(obj, fptr); GetOpenFile(obj, fptr);
@ -1698,7 +1698,7 @@ rb_file_s_ctime(VALUE klass, VALUE fname)
static VALUE static VALUE
rb_file_ctime(VALUE obj) rb_file_ctime(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
struct stat st; struct stat st;
GetOpenFile(obj, fptr); GetOpenFile(obj, fptr);
@ -1760,7 +1760,7 @@ rb_file_s_chmod(int argc, VALUE *argv)
static VALUE static VALUE
rb_file_chmod(VALUE obj, VALUE vmode) rb_file_chmod(VALUE obj, VALUE vmode)
{ {
OpenFile *fptr; rb_io_t *fptr;
int mode; int mode;
rb_secure(2); rb_secure(2);
@ -1891,7 +1891,7 @@ rb_file_s_chown(int argc, VALUE *argv)
static VALUE static VALUE
rb_file_chown(VALUE obj, VALUE owner, VALUE group) rb_file_chown(VALUE obj, VALUE owner, VALUE group)
{ {
OpenFile *fptr; rb_io_t *fptr;
int o, g; int o, g;
rb_secure(2); rb_secure(2);
@ -3043,7 +3043,7 @@ rb_file_s_truncate(VALUE klass, VALUE path, VALUE len)
static VALUE static VALUE
rb_file_truncate(VALUE obj, VALUE len) rb_file_truncate(VALUE obj, VALUE len)
{ {
OpenFile *fptr; rb_io_t *fptr;
off_t pos; off_t pos;
rb_secure(2); rb_secure(2);
@ -3134,7 +3134,7 @@ static VALUE
rb_file_flock(VALUE obj, VALUE operation) rb_file_flock(VALUE obj, VALUE operation)
{ {
#ifndef __CHECKER__ #ifndef __CHECKER__
OpenFile *fptr; rb_io_t *fptr;
int op[2]; int op[2];
rb_secure(2); rb_secure(2);

2
gc.c
View file

@ -34,7 +34,7 @@
#include <windows.h> #include <windows.h>
#endif #endif
int rb_io_fptr_finalize(struct OpenFile*); int rb_io_fptr_finalize(struct rb_io_t*);
#if !defined(setjmp) && defined(HAVE__SETJMP) #if !defined(setjmp) && defined(HAVE__SETJMP)
#define setjmp(env) _setjmp(env) #define setjmp(env) _setjmp(env)

174
io.c
View file

@ -212,7 +212,7 @@ rb_io_taint_check(VALUE io)
} }
void void
rb_io_check_initialized(OpenFile *fptr) rb_io_check_initialized(rb_io_t *fptr)
{ {
if (!fptr) { if (!fptr) {
rb_raise(rb_eIOError, "uninitialized stream"); rb_raise(rb_eIOError, "uninitialized stream");
@ -220,7 +220,7 @@ rb_io_check_initialized(OpenFile *fptr)
} }
void void
rb_io_check_closed(OpenFile *fptr) rb_io_check_closed(rb_io_t *fptr)
{ {
rb_io_check_initialized(fptr); rb_io_check_initialized(fptr);
if (fptr->fd < 0) { if (fptr->fd < 0) {
@ -228,7 +228,7 @@ rb_io_check_closed(OpenFile *fptr)
} }
} }
static int io_fflush(OpenFile *); static int io_fflush(rb_io_t *);
static VALUE static VALUE
rb_io_get_io(VALUE io) rb_io_get_io(VALUE io)
@ -243,7 +243,7 @@ rb_io_check_io(VALUE io)
} }
static void static void
io_unread(OpenFile *fptr) io_unread(rb_io_t *fptr)
{ {
off_t r; off_t r;
rb_io_check_closed(fptr); rb_io_check_closed(fptr);
@ -262,7 +262,7 @@ io_unread(OpenFile *fptr)
} }
static int static int
io_ungetc(int c, OpenFile *fptr) io_ungetc(int c, rb_io_t *fptr)
{ {
if (fptr->rbuf == NULL) { if (fptr->rbuf == NULL) {
fptr->rbuf_off = 0; fptr->rbuf_off = 0;
@ -284,8 +284,8 @@ io_ungetc(int c, OpenFile *fptr)
return c; return c;
} }
static OpenFile * static rb_io_t *
flush_before_seek(OpenFile *fptr) flush_before_seek(rb_io_t *fptr)
{ {
io_fflush(fptr); io_fflush(fptr);
io_unread(fptr); io_unread(fptr);
@ -304,7 +304,7 @@ flush_before_seek(OpenFile *fptr)
#define FMODE_SYNCWRITE (FMODE_SYNC|FMODE_WRITABLE) #define FMODE_SYNCWRITE (FMODE_SYNC|FMODE_WRITABLE)
void void
rb_io_check_readable(OpenFile *fptr) rb_io_check_readable(rb_io_t *fptr)
{ {
rb_io_check_closed(fptr); rb_io_check_closed(fptr);
if (!(fptr->mode & FMODE_READABLE)) { if (!(fptr->mode & FMODE_READABLE)) {
@ -316,7 +316,7 @@ rb_io_check_readable(OpenFile *fptr)
} }
void void
rb_io_check_writable(OpenFile *fptr) rb_io_check_writable(rb_io_t *fptr)
{ {
rb_io_check_closed(fptr); rb_io_check_closed(fptr);
if (!(fptr->mode & FMODE_WRITABLE)) { if (!(fptr->mode & FMODE_WRITABLE)) {
@ -334,7 +334,7 @@ rb_read_pending(FILE *fp)
} }
int int
rb_io_read_pending(OpenFile *fptr) rb_io_read_pending(rb_io_t *fptr)
{ {
return READ_DATA_PENDING(fptr); return READ_DATA_PENDING(fptr);
} }
@ -348,7 +348,7 @@ rb_read_check(FILE *fp)
} }
void void
rb_io_read_check(OpenFile *fptr) rb_io_read_check(rb_io_t *fptr)
{ {
if (!READ_DATA_PENDING(fptr)) { if (!READ_DATA_PENDING(fptr)) {
rb_thread_wait_fd(fptr->fd); rb_thread_wait_fd(fptr->fd);
@ -390,7 +390,7 @@ io_alloc(VALUE klass)
#endif #endif
static int static int
wsplit_p(OpenFile *fptr) wsplit_p(rb_io_t *fptr)
{ {
int r; int r;
if (!(fptr->mode & FMODE_WSPLIT_INITIALIZED)) { if (!(fptr->mode & FMODE_WSPLIT_INITIALIZED)) {
@ -410,7 +410,7 @@ wsplit_p(OpenFile *fptr)
} }
static int static int
io_fflush(OpenFile *fptr) io_fflush(rb_io_t *fptr)
{ {
int r, l; int r, l;
int wbuf_off, wbuf_len; int wbuf_off, wbuf_len;
@ -539,7 +539,7 @@ rb_io_wait_writable(int f)
/* writing functions */ /* writing functions */
static long static long
io_fwrite(VALUE str, OpenFile *fptr) io_fwrite(VALUE str, rb_io_t *fptr)
{ {
long len, n, r, l, offset = 0; long len, n, r, l, offset = 0;
@ -611,7 +611,7 @@ io_fwrite(VALUE str, OpenFile *fptr)
long long
rb_io_fwrite(const char *ptr, long len, FILE *f) rb_io_fwrite(const char *ptr, long len, FILE *f)
{ {
OpenFile of; rb_io_t of;
of.fd = fileno(f); of.fd = fileno(f);
of.stdio_file = f; of.stdio_file = f;
@ -641,7 +641,7 @@ rb_io_fwrite(const char *ptr, long len, FILE *f)
static VALUE static VALUE
io_write(VALUE io, VALUE str) io_write(VALUE io, VALUE str)
{ {
OpenFile *fptr; rb_io_t *fptr;
long n; long n;
VALUE tmp; VALUE tmp;
@ -712,7 +712,7 @@ rb_io_addstr(VALUE io, VALUE str)
VALUE VALUE
rb_io_flush(VALUE io) rb_io_flush(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (TYPE(io) != T_FILE) { if (TYPE(io) != T_FILE) {
return rb_funcall(io, id_flush, 0); return rb_funcall(io, id_flush, 0);
@ -746,7 +746,7 @@ rb_io_flush(VALUE io)
static VALUE static VALUE
rb_io_tell(VALUE io) rb_io_tell(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
off_t pos; off_t pos;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -758,7 +758,7 @@ rb_io_tell(VALUE io)
static VALUE static VALUE
rb_io_seek(VALUE io, VALUE offset, int whence) rb_io_seek(VALUE io, VALUE offset, int whence)
{ {
OpenFile *fptr; rb_io_t *fptr;
off_t pos; off_t pos;
pos = NUM2OFFT(offset); pos = NUM2OFFT(offset);
@ -817,7 +817,7 @@ rb_io_seek_m(int argc, VALUE *argv, VALUE io)
static VALUE static VALUE
rb_io_set_pos(VALUE io, VALUE offset) rb_io_set_pos(VALUE io, VALUE offset)
{ {
OpenFile *fptr; rb_io_t *fptr;
off_t pos; off_t pos;
pos = NUM2OFFT(offset); pos = NUM2OFFT(offset);
@ -845,7 +845,7 @@ rb_io_set_pos(VALUE io, VALUE offset)
static VALUE static VALUE
rb_io_rewind(VALUE io) rb_io_rewind(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
if (io_seek(fptr, 0L, 0) < 0) rb_sys_fail(fptr->path); if (io_seek(fptr, 0L, 0) < 0) rb_sys_fail(fptr->path);
@ -858,11 +858,11 @@ rb_io_rewind(VALUE io)
} }
static int static int
io_getc(OpenFile *fptr) io_getc(rb_io_t *fptr)
{ {
int r; int r;
if (fptr->fd == 0 && (fptr->mode & FMODE_TTY) && TYPE(rb_stdout) == T_FILE) { if (fptr->fd == 0 && (fptr->mode & FMODE_TTY) && TYPE(rb_stdout) == T_FILE) {
OpenFile *ofp; rb_io_t *ofp;
GetOpenFile(rb_stdout, ofp); GetOpenFile(rb_stdout, ofp);
if (ofp->mode & FMODE_TTY) { if (ofp->mode & FMODE_TTY) {
rb_io_flush(rb_stdout); rb_io_flush(rb_stdout);
@ -929,7 +929,7 @@ io_getc(OpenFile *fptr)
VALUE VALUE
rb_io_eof(VALUE io) rb_io_eof(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
int ch; int ch;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -962,7 +962,7 @@ rb_io_eof(VALUE io)
static VALUE static VALUE
rb_io_sync(VALUE io) rb_io_sync(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
return (fptr->mode & FMODE_SYNC) ? Qtrue : Qfalse; return (fptr->mode & FMODE_SYNC) ? Qtrue : Qfalse;
@ -986,7 +986,7 @@ rb_io_sync(VALUE io)
static VALUE static VALUE
rb_io_set_sync(VALUE io, VALUE mode) rb_io_set_sync(VALUE io, VALUE mode)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
if (RTEST(mode)) { if (RTEST(mode)) {
@ -1014,7 +1014,7 @@ static VALUE
rb_io_fsync(VALUE io) rb_io_fsync(VALUE io)
{ {
#ifdef HAVE_FSYNC #ifdef HAVE_FSYNC
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -1043,7 +1043,7 @@ rb_io_fsync(VALUE io)
static VALUE static VALUE
rb_io_fileno(VALUE io) rb_io_fileno(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
int fd; int fd;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -1075,7 +1075,7 @@ rb_io_fileno(VALUE io)
static VALUE static VALUE
rb_io_pid(VALUE io) rb_io_pid(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
if (!fptr->pid) if (!fptr->pid)
@ -1094,7 +1094,7 @@ rb_io_pid(VALUE io)
static VALUE static VALUE
rb_io_inspect(VALUE obj) rb_io_inspect(VALUE obj)
{ {
OpenFile *fptr; rb_io_t *fptr;
char *cname; char *cname;
const char *st = ""; const char *st = "";
@ -1122,7 +1122,7 @@ rb_io_to_io(VALUE io)
/* reading functions */ /* reading functions */
static long static long
read_buffered_data(char *ptr, long len, OpenFile *fptr) read_buffered_data(char *ptr, long len, rb_io_t *fptr)
{ {
long n; long n;
@ -1136,7 +1136,7 @@ read_buffered_data(char *ptr, long len, OpenFile *fptr)
} }
static long static long
io_fread(VALUE str, long offset, OpenFile *fptr) io_fread(VALUE str, long offset, rb_io_t *fptr)
{ {
long len = RSTRING_LEN(str) - offset; long len = RSTRING_LEN(str) - offset;
long n = len; long n = len;
@ -1164,7 +1164,7 @@ io_fread(VALUE str, long offset, OpenFile *fptr)
long long
rb_io_fread(char *ptr, long len, FILE *f) rb_io_fread(char *ptr, long len, FILE *f)
{ {
OpenFile of; rb_io_t of;
VALUE str; VALUE str;
long n; long n;
@ -1180,7 +1180,7 @@ rb_io_fread(char *ptr, long len, FILE *f)
#define SMALLBUF 100 #define SMALLBUF 100
static long static long
remain_size(OpenFile *fptr) remain_size(rb_io_t *fptr)
{ {
struct stat st; struct stat st;
off_t siz = READ_DATA_PENDING_COUNT(fptr); off_t siz = READ_DATA_PENDING_COUNT(fptr);
@ -1208,7 +1208,7 @@ remain_size(OpenFile *fptr)
} }
static VALUE static VALUE
read_all(OpenFile *fptr, long siz, VALUE str) read_all(rb_io_t *fptr, long siz, VALUE str)
{ {
long bytes = 0; long bytes = 0;
long n; long n;
@ -1237,7 +1237,7 @@ read_all(OpenFile *fptr, long siz, VALUE str)
return str; return str;
} }
void rb_io_set_nonblock(OpenFile *fptr) void rb_io_set_nonblock(rb_io_t *fptr)
{ {
int flags; int flags;
#ifdef F_GETFL #ifdef F_GETFL
@ -1259,7 +1259,7 @@ void rb_io_set_nonblock(OpenFile *fptr)
static VALUE static VALUE
io_getpartial(int argc, VALUE *argv, VALUE io, int nonblock) io_getpartial(int argc, VALUE *argv, VALUE io, int nonblock)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE length, str; VALUE length, str;
long n, len; long n, len;
@ -1443,7 +1443,7 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
static VALUE static VALUE
rb_io_write_nonblock(VALUE io, VALUE str) rb_io_write_nonblock(VALUE io, VALUE str)
{ {
OpenFile *fptr; rb_io_t *fptr;
long n; long n;
rb_secure(4); rb_secure(4);
@ -1488,7 +1488,7 @@ rb_io_write_nonblock(VALUE io, VALUE str)
static VALUE static VALUE
io_read(int argc, VALUE *argv, VALUE io) io_read(int argc, VALUE *argv, VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
long n, len; long n, len;
VALUE length, str; VALUE length, str;
@ -1535,7 +1535,7 @@ io_read(int argc, VALUE *argv, VALUE io)
} }
static int static int
appendline(OpenFile *fptr, int delim, VALUE *strp, long *lp) appendline(rb_io_t *fptr, int delim, VALUE *strp, long *lp)
{ {
VALUE str = *strp; VALUE str = *strp;
int c = EOF; int c = EOF;
@ -1604,7 +1604,7 @@ appendline(OpenFile *fptr, int delim, VALUE *strp, long *lp)
} }
static inline int static inline int
swallow(OpenFile *fptr, int term) swallow(rb_io_t *fptr, int term)
{ {
int c; int c;
@ -1633,7 +1633,7 @@ swallow(OpenFile *fptr, int term)
} }
static VALUE static VALUE
rb_io_getline_fast(OpenFile *fptr, unsigned char delim, long limit) rb_io_getline_fast(rb_io_t *fptr, unsigned char delim, long limit)
{ {
VALUE str = Qnil; VALUE str = Qnil;
int c, nolimit = 0; int c, nolimit = 0;
@ -1697,7 +1697,7 @@ static VALUE
rb_io_getline_1(VALUE rs, long limit, VALUE io) rb_io_getline_1(VALUE rs, long limit, VALUE io)
{ {
VALUE str = Qnil; VALUE str = Qnil;
OpenFile *fptr; rb_io_t *fptr;
int nolimit = 0; int nolimit = 0;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -1777,7 +1777,7 @@ rb_io_getline(int argc, VALUE *argv, VALUE io)
VALUE VALUE
rb_io_gets(VALUE io) rb_io_gets(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
rb_io_check_readable(fptr); rb_io_check_readable(fptr);
@ -1838,7 +1838,7 @@ rb_io_gets_m(int argc, VALUE *argv, VALUE io)
static VALUE static VALUE
rb_io_lineno(VALUE io) rb_io_lineno(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
rb_io_check_readable(fptr); rb_io_check_readable(fptr);
@ -1865,7 +1865,7 @@ rb_io_lineno(VALUE io)
static VALUE static VALUE
rb_io_set_lineno(VALUE io, VALUE lineno) rb_io_set_lineno(VALUE io, VALUE lineno)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
rb_io_check_readable(fptr); rb_io_check_readable(fptr);
@ -2002,7 +2002,7 @@ rb_io_each_line(int argc, VALUE *argv, VALUE io)
static VALUE static VALUE
rb_io_each_byte(VALUE io) rb_io_each_byte(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
int c; int c;
RETURN_ENUMERATOR(io, 0, 0); RETURN_ENUMERATOR(io, 0, 0);
@ -2056,7 +2056,7 @@ rb_io_bytes(VALUE str)
VALUE VALUE
rb_io_getc(VALUE io) rb_io_getc(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
int c; int c;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -2087,7 +2087,7 @@ VALUE
rb_io_getc_m(VALUE io) rb_io_getc_m(VALUE io)
{ {
char ch; char ch;
OpenFile *fptr; rb_io_t *fptr;
int c; int c;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -2156,7 +2156,7 @@ rb_io_readchar(VALUE io)
VALUE VALUE
rb_io_ungetc(VALUE io, VALUE c) rb_io_ungetc(VALUE io, VALUE c)
{ {
OpenFile *fptr; rb_io_t *fptr;
int cc; int cc;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -2193,7 +2193,7 @@ rb_io_ungetc(VALUE io, VALUE c)
static VALUE static VALUE
rb_io_isatty(VALUE io) rb_io_isatty(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
if (isatty(fptr->fd) == 0) if (isatty(fptr->fd) == 0)
@ -2206,7 +2206,7 @@ rb_io_isatty(VALUE io)
#define PREP_STDIO_NAME(f) ((f)->path) #define PREP_STDIO_NAME(f) ((f)->path)
static void static void
fptr_finalize(OpenFile *fptr, int noraise) fptr_finalize(rb_io_t *fptr, int noraise)
{ {
if (fptr->wbuf_len) { if (fptr->wbuf_len) {
io_fflush(fptr); io_fflush(fptr);
@ -2235,7 +2235,7 @@ fptr_finalize(OpenFile *fptr, int noraise)
} }
static void static void
rb_io_fptr_cleanup(OpenFile *fptr, int noraise) rb_io_fptr_cleanup(rb_io_t *fptr, int noraise)
{ {
if (fptr->finalize) { if (fptr->finalize) {
(*fptr->finalize)(fptr, noraise); (*fptr->finalize)(fptr, noraise);
@ -2246,7 +2246,7 @@ rb_io_fptr_cleanup(OpenFile *fptr, int noraise)
} }
int int
rb_io_fptr_finalize(OpenFile *fptr) rb_io_fptr_finalize(rb_io_t *fptr)
{ {
if (!fptr) return 0; if (!fptr) return 0;
if (fptr->refcnt <= 0 || --fptr->refcnt) return 0; if (fptr->refcnt <= 0 || --fptr->refcnt) return 0;
@ -2271,7 +2271,7 @@ rb_io_fptr_finalize(OpenFile *fptr)
VALUE VALUE
rb_io_close(VALUE io) rb_io_close(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
int fd; int fd;
fptr = RFILE(io)->fptr; fptr = RFILE(io)->fptr;
@ -2349,7 +2349,7 @@ io_close(VALUE io)
static VALUE static VALUE
rb_io_closed(VALUE io) rb_io_closed(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
fptr = RFILE(io)->fptr; fptr = RFILE(io)->fptr;
rb_io_check_initialized(fptr); rb_io_check_initialized(fptr);
@ -2377,7 +2377,7 @@ rb_io_closed(VALUE io)
static VALUE static VALUE
rb_io_close_read(VALUE io) rb_io_close_read(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) {
rb_raise(rb_eSecurityError, "Insecure: can't close"); rb_raise(rb_eSecurityError, "Insecure: can't close");
@ -2422,7 +2422,7 @@ rb_io_close_read(VALUE io)
static VALUE static VALUE
rb_io_close_write(VALUE io) rb_io_close_write(VALUE io)
{ {
OpenFile *fptr; rb_io_t *fptr;
if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) {
rb_raise(rb_eSecurityError, "Insecure: can't close"); rb_raise(rb_eSecurityError, "Insecure: can't close");
@ -2464,7 +2464,7 @@ rb_io_sysseek(int argc, VALUE *argv, VALUE io)
{ {
VALUE offset, ptrname; VALUE offset, ptrname;
int whence = SEEK_SET; int whence = SEEK_SET;
OpenFile *fptr; rb_io_t *fptr;
off_t pos; off_t pos;
if (rb_scan_args(argc, argv, "11", &offset, &ptrname) == 2) { if (rb_scan_args(argc, argv, "11", &offset, &ptrname) == 2) {
@ -2500,7 +2500,7 @@ rb_io_sysseek(int argc, VALUE *argv, VALUE io)
static VALUE static VALUE
rb_io_syswrite(VALUE io, VALUE str) rb_io_syswrite(VALUE io, VALUE str)
{ {
OpenFile *fptr; rb_io_t *fptr;
long n; long n;
rb_secure(4); rb_secure(4);
@ -2545,7 +2545,7 @@ static VALUE
rb_io_sysread(int argc, VALUE *argv, VALUE io) rb_io_sysread(int argc, VALUE *argv, VALUE io)
{ {
VALUE len, str; VALUE len, str;
OpenFile *fptr; rb_io_t *fptr;
long n, ilen; long n, ilen;
rb_scan_args(argc, argv, "11", &len, &str); rb_scan_args(argc, argv, "11", &len, &str);
@ -2604,7 +2604,7 @@ VALUE
rb_io_binmode(VALUE io) rb_io_binmode(VALUE io)
{ {
#if defined(_WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(__human68k__) || defined(__EMX__) #if defined(_WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(__human68k__) || defined(__EMX__)
OpenFile *fptr; rb_io_t *fptr;
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
if (!(fptr->mode & FMODE_BINMODE) && READ_DATA_BUFFERED(fptr)) { if (!(fptr->mode & FMODE_BINMODE) && READ_DATA_BUFFERED(fptr)) {
@ -2866,7 +2866,7 @@ rb_fdopen(int fd, const char *mode)
} }
static void static void
io_check_tty(OpenFile *fptr) io_check_tty(rb_io_t *fptr)
{ {
if (isatty(fptr->fd)) if (isatty(fptr->fd))
fptr->mode |= FMODE_TTY|FMODE_DUPLEX; fptr->mode |= FMODE_TTY|FMODE_DUPLEX;
@ -2875,7 +2875,7 @@ io_check_tty(OpenFile *fptr)
static VALUE static VALUE
rb_file_open_internal(VALUE io, const char *fname, const char *mode) rb_file_open_internal(VALUE io, const char *fname, const char *mode)
{ {
OpenFile *fptr; rb_io_t *fptr;
MakeOpenFile(io, fptr); MakeOpenFile(io, fptr);
fptr->mode = rb_io_mode_flags(mode); fptr->mode = rb_io_mode_flags(mode);
@ -2895,7 +2895,7 @@ rb_file_open(const char *fname, const char *mode)
static VALUE static VALUE
rb_file_sysopen_internal(VALUE io, const char *fname, int flags, int mode) rb_file_sysopen_internal(VALUE io, const char *fname, int flags, int mode)
{ {
OpenFile *fptr; rb_io_t *fptr;
MakeOpenFile(io, fptr); MakeOpenFile(io, fptr);
@ -2915,12 +2915,12 @@ rb_file_sysopen(const char *fname, int flags, int mode)
#if defined(__CYGWIN__) || !defined(HAVE_FORK) #if defined(__CYGWIN__) || !defined(HAVE_FORK)
static struct pipe_list { static struct pipe_list {
OpenFile *fptr; rb_io_t *fptr;
struct pipe_list *next; struct pipe_list *next;
} *pipe_list; } *pipe_list;
static void static void
pipe_add_fptr(OpenFile *fptr) pipe_add_fptr(rb_io_t *fptr)
{ {
struct pipe_list *list; struct pipe_list *list;
@ -2931,7 +2931,7 @@ pipe_add_fptr(OpenFile *fptr)
} }
static void static void
pipe_del_fptr(OpenFile *fptr) pipe_del_fptr(rb_io_t *fptr)
{ {
struct pipe_list *list = pipe_list; struct pipe_list *list = pipe_list;
struct pipe_list *tmp; struct pipe_list *tmp;
@ -2967,7 +2967,7 @@ pipe_atexit(void)
} }
static void static void
pipe_finalize(OpenFile *fptr, int noraise) pipe_finalize(rb_io_t *fptr, int noraise)
{ {
#if !defined(HAVE_FORK) && !defined(_WIN32) #if !defined(HAVE_FORK) && !defined(_WIN32)
int status; int status;
@ -2988,13 +2988,13 @@ pipe_finalize(OpenFile *fptr, int noraise)
#endif #endif
void void
rb_io_synchronized(OpenFile *fptr) rb_io_synchronized(rb_io_t *fptr)
{ {
fptr->mode |= FMODE_SYNC; fptr->mode |= FMODE_SYNC;
} }
void void
rb_io_unbuffered(OpenFile *fptr) rb_io_unbuffered(rb_io_t *fptr)
{ {
rb_io_synchronized(fptr); rb_io_synchronized(fptr);
} }
@ -3051,7 +3051,7 @@ pipe_open(int argc, VALUE *argv, const char *mode)
{ {
int modef = rb_io_mode_flags(mode); int modef = rb_io_mode_flags(mode);
int pid = 0; int pid = 0;
OpenFile *fptr; rb_io_t *fptr;
VALUE port, prog; VALUE port, prog;
#if defined(HAVE_FORK) && defined(HAVE_SOCKETPAIR) #if defined(HAVE_FORK) && defined(HAVE_SOCKETPAIR)
int status; int status;
@ -3497,7 +3497,7 @@ rb_io_open(const char *fname, const char *mode)
static VALUE static VALUE
io_reopen(VALUE io, VALUE nfile) io_reopen(VALUE io, VALUE nfile)
{ {
OpenFile *fptr, *orig; rb_io_t *fptr, *orig;
int fd, fd2; int fd, fd2;
off_t pos = 0; off_t pos = 0;
@ -3530,7 +3530,7 @@ io_reopen(VALUE io, VALUE nfile)
io_fflush(fptr); io_fflush(fptr);
} }
/* copy OpenFile structure */ /* copy rb_io_t structure */
fptr->mode = orig->mode | (fptr->mode & FMODE_PREP); fptr->mode = orig->mode | (fptr->mode & FMODE_PREP);
fptr->pid = orig->pid; fptr->pid = orig->pid;
fptr->lineno = orig->lineno; fptr->lineno = orig->lineno;
@ -3602,7 +3602,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
{ {
VALUE fname, nmode; VALUE fname, nmode;
const char *mode; const char *mode;
OpenFile *fptr; rb_io_t *fptr;
rb_secure(4); rb_secure(4);
if (rb_scan_args(argc, argv, "11", &fname, &nmode) == 1) { if (rb_scan_args(argc, argv, "11", &fname, &nmode) == 1) {
@ -3616,8 +3616,8 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
rb_io_taint_check(file); rb_io_taint_check(file);
fptr = RFILE(file)->fptr; fptr = RFILE(file)->fptr;
if (!fptr) { if (!fptr) {
fptr = RFILE(file)->fptr = ALLOC(OpenFile); fptr = RFILE(file)->fptr = ALLOC(rb_io_t);
MEMZERO(fptr, OpenFile, 1); MEMZERO(fptr, rb_io_t, 1);
} }
if (!NIL_P(nmode)) { if (!NIL_P(nmode)) {
@ -3674,7 +3674,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
static VALUE static VALUE
rb_io_init_copy(VALUE dest, VALUE io) rb_io_init_copy(VALUE dest, VALUE io)
{ {
OpenFile *fptr, *orig; rb_io_t *fptr, *orig;
int fd; int fd;
io = rb_io_get_io(io); io = rb_io_get_io(io);
@ -3684,7 +3684,7 @@ rb_io_init_copy(VALUE dest, VALUE io)
rb_io_flush(io); rb_io_flush(io);
/* copy OpenFile structure */ /* copy rb_io_t structure */
fptr->mode = orig->mode & ~FMODE_PREP; fptr->mode = orig->mode & ~FMODE_PREP;
fptr->pid = orig->pid; fptr->pid = orig->pid;
fptr->lineno = orig->lineno; fptr->lineno = orig->lineno;
@ -4068,7 +4068,7 @@ deferr_setter(VALUE val, ID id, VALUE *variable)
static VALUE static VALUE
prep_io(int fd, int mode, VALUE klass, const char *path) prep_io(int fd, int mode, VALUE klass, const char *path)
{ {
OpenFile *fp; rb_io_t *fp;
VALUE io = io_alloc(klass); VALUE io = io_alloc(klass);
MakeOpenFile(io, fp); MakeOpenFile(io, fp);
@ -4089,7 +4089,7 @@ prep_io(int fd, int mode, VALUE klass, const char *path)
static VALUE static VALUE
prep_stdio(FILE *f, int mode, VALUE klass, const char *path) prep_stdio(FILE *f, int mode, VALUE klass, const char *path)
{ {
OpenFile *fptr; rb_io_t *fptr;
VALUE io = prep_io(fileno(f), mode|FMODE_PREP, klass, path); VALUE io = prep_io(fileno(f), mode|FMODE_PREP, klass, path);
GetOpenFile(io, fptr); GetOpenFile(io, fptr);
@ -4098,7 +4098,7 @@ prep_stdio(FILE *f, int mode, VALUE klass, const char *path)
return io; return io;
} }
FILE *rb_io_stdio_file(OpenFile *fptr) FILE *rb_io_stdio_file(rb_io_t *fptr)
{ {
if (!fptr->stdio_file) { if (!fptr->stdio_file) {
fptr->stdio_file = rb_fdopen(fptr->fd, rb_io_flags_mode(fptr->mode)); fptr->stdio_file = rb_fdopen(fptr->fd, rb_io_flags_mode(fptr->mode));
@ -4131,7 +4131,7 @@ static VALUE
rb_io_initialize(int argc, VALUE *argv, VALUE io) rb_io_initialize(int argc, VALUE *argv, VALUE io)
{ {
VALUE fnum, mode, orig; VALUE fnum, mode, orig;
OpenFile *fp, *ofp = NULL; rb_io_t *fp, *ofp = NULL;
int fd, flags, fmode; int fd, flags, fmode;
rb_secure(4); rb_secure(4);
@ -4307,7 +4307,7 @@ next_argv(void)
{ {
extern VALUE rb_argv; extern VALUE rb_argv;
char *fn; char *fn;
OpenFile *fptr; rb_io_t *fptr;
int stdout_binmode = 0; int stdout_binmode = 0;
if (TYPE(rb_stdout) == T_FILE) { if (TYPE(rb_stdout) == T_FILE) {
@ -4601,7 +4601,7 @@ rb_f_backquote(VALUE obj, VALUE str)
{ {
volatile VALUE port; volatile VALUE port;
VALUE result; VALUE result;
OpenFile *fptr; rb_io_t *fptr;
SafeStringValue(str); SafeStringValue(str);
port = pipe_open(1, &str, "r"); port = pipe_open(1, &str, "r");
@ -4623,7 +4623,7 @@ select_internal(VALUE read, VALUE write, VALUE except, struct timeval *tp, rb_fd
{ {
VALUE res, list; VALUE res, list;
fd_set *rp, *wp, *ep; fd_set *rp, *wp, *ep;
OpenFile *fptr; rb_io_t *fptr;
long i; long i;
int max = 0, n; int max = 0, n;
int interrupt_flag = 0; int interrupt_flag = 0;
@ -4821,7 +4821,7 @@ rb_io_ctl(VALUE io, VALUE req, VALUE arg, int io_p)
{ {
#if !defined(MSDOS) && !defined(__human68k__) #if !defined(MSDOS) && !defined(__human68k__)
int cmd = NUM2ULONG(req); int cmd = NUM2ULONG(req);
OpenFile *fptr; rb_io_t *fptr;
long len = 0; long len = 0;
long narg = 0; long narg = 0;
int retval; int retval;

2
ruby.h
View file

@ -448,7 +448,7 @@ struct RHash {
struct RFile { struct RFile {
struct RBasic basic; struct RBasic basic;
struct OpenFile *fptr; struct rb_io_t *fptr;
}; };
struct RData { struct RData {

View file

@ -20,14 +20,14 @@
#include <stdio_ext.h> #include <stdio_ext.h>
#endif #endif
typedef struct OpenFile { typedef struct rb_io_t {
int fd; /* file descriptor */ int fd; /* file descriptor */
FILE *stdio_file; /* stdio ptr for read/write if available */ FILE *stdio_file; /* stdio ptr for read/write if available */
int mode; /* mode flags */ int mode; /* mode flags */
rb_pid_t pid; /* child's pid (for pipes) */ rb_pid_t pid; /* child's pid (for pipes) */
int lineno; /* number of lines read */ int lineno; /* number of lines read */
char *path; /* pathname for file */ char *path; /* pathname for file */
void (*finalize)(struct OpenFile*,int); /* finalize proc */ void (*finalize)(struct rb_io_t*,int); /* finalize proc */
long refcnt; long refcnt;
char *wbuf; /* wbuf_off + wbuf_len <= wbuf_capa */ char *wbuf; /* wbuf_off + wbuf_len <= wbuf_capa */
int wbuf_off; int wbuf_off;
@ -37,7 +37,7 @@ typedef struct OpenFile {
int rbuf_off; int rbuf_off;
int rbuf_len; int rbuf_len;
int rbuf_capa; int rbuf_capa;
} OpenFile; } rb_io_t;
#define FMODE_READABLE 1 #define FMODE_READABLE 1
#define FMODE_WRITABLE 2 #define FMODE_WRITABLE 2
@ -60,7 +60,7 @@ typedef struct OpenFile {
RFILE(obj)->fptr = 0;\ RFILE(obj)->fptr = 0;\
}\ }\
fp = 0;\ fp = 0;\
fp = RFILE(obj)->fptr = ALLOC(OpenFile);\ fp = RFILE(obj)->fptr = ALLOC(rb_io_t);\
fp->fd = -1;\ fp->fd = -1;\
fp->stdio_file = NULL;\ fp->stdio_file = NULL;\
fp->mode = 0;\ fp->mode = 0;\
@ -79,27 +79,27 @@ typedef struct OpenFile {
fp->rbuf_capa = 0;\ fp->rbuf_capa = 0;\
} while (0) } while (0)
FILE *rb_io_stdio_file(OpenFile *fptr); FILE *rb_io_stdio_file(rb_io_t *fptr);
FILE *rb_fopen(const char*, const char*); FILE *rb_fopen(const char*, const char*);
FILE *rb_fdopen(int, const char*); FILE *rb_fdopen(int, const char*);
int rb_io_mode_flags(const char*); int rb_io_mode_flags(const char*);
int rb_io_modenum_flags(int); int rb_io_modenum_flags(int);
void rb_io_check_writable(OpenFile*); void rb_io_check_writable(rb_io_t*);
void rb_io_check_readable(OpenFile*); void rb_io_check_readable(rb_io_t*);
int rb_io_fptr_finalize(OpenFile*); int rb_io_fptr_finalize(rb_io_t*);
void rb_io_synchronized(OpenFile*); void rb_io_synchronized(rb_io_t*);
void rb_io_check_initialized(OpenFile*); void rb_io_check_initialized(rb_io_t*);
void rb_io_check_closed(OpenFile*); void rb_io_check_closed(rb_io_t*);
int rb_io_wait_readable(int); int rb_io_wait_readable(int);
int rb_io_wait_writable(int); int rb_io_wait_writable(int);
void rb_io_set_nonblock(OpenFile *fptr); void rb_io_set_nonblock(rb_io_t *fptr);
VALUE rb_io_taint_check(VALUE); VALUE rb_io_taint_check(VALUE);
NORETURN(void rb_eof_error(void)); NORETURN(void rb_eof_error(void));
void rb_io_read_check(OpenFile*); void rb_io_read_check(rb_io_t*);
int rb_io_read_pending(OpenFile*); int rb_io_read_pending(rb_io_t*);
void rb_read_check(FILE*); void rb_read_check(FILE*);
DEPRECATED(int rb_getc(FILE*)); DEPRECATED(int rb_getc(FILE*));

View file

@ -19,11 +19,8 @@
// //
// #include <stdarg.h> conflict with varargs.h? // #include <stdarg.h> conflict with varargs.h?
// There is function-name conflitct, so we rename it
#if !defined(WSAAPI) #if !defined(WSAAPI)
#define OpenFile WINAPI_OpenFile
#include <winsock2.h> #include <winsock2.h>
#undef OpenFile
#endif #endif
#define NT 1 /* deprecated */ #define NT 1 /* deprecated */