зеркало из https://github.com/github/ruby.git
* 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:
Родитель
793c649f65
Коммит
5b10c170e5
|
@ -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>
|
||||
|
||||
* bootstraptest/runner.rb: new option -v,--verbose.
|
||||
|
|
|
@ -418,7 +418,7 @@ VALUE
|
|||
rb_dlptr_s_to_ptr(VALUE self, VALUE val)
|
||||
{
|
||||
if( rb_obj_is_kind_of(val, rb_cIO) == Qtrue ){
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
FILE *fp;
|
||||
GetOpenFile(val, fptr);
|
||||
#if RUBY_VERSION_CODE >= 190
|
||||
|
|
|
@ -50,7 +50,7 @@ EXTERN struct timeval rb_time_interval _((VALUE time));
|
|||
static VALUE
|
||||
io_ready_p(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
ioctl_arg n;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -90,7 +90,7 @@ wait_readable(VALUE p)
|
|||
static VALUE
|
||||
io_wait(int argc, VALUE *argv, VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct wait_readable_arg arg;
|
||||
int fd, i;
|
||||
ioctl_arg n;
|
||||
|
|
|
@ -40,7 +40,6 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
# define OpenFile WINAPI_OpenFile
|
||||
# define OSSL_NO_CONF_API 1
|
||||
# include <winsock2.h>
|
||||
#endif
|
||||
|
@ -65,9 +64,6 @@ extern "C" {
|
|||
# define OSSL_OCSP_ENABLED
|
||||
# include <openssl/ocsp.h>
|
||||
#endif
|
||||
#if defined(_WIN32)
|
||||
# undef OpenFile
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Common Module
|
||||
|
|
|
@ -19,7 +19,7 @@ ossl_obj2bio(VALUE obj)
|
|||
BIO *bio;
|
||||
|
||||
if (TYPE(obj) == T_FILE) {
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
FILE *fp;
|
||||
int fd;
|
||||
|
||||
|
|
|
@ -533,7 +533,7 @@ ossl_ssl_setup(VALUE self)
|
|||
VALUE io, v_ctx, cb;
|
||||
SSL_CTX *ctx;
|
||||
SSL *ssl;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
Data_Get_Struct(self, SSL, ssl);
|
||||
if(!ssl){
|
||||
|
@ -573,7 +573,7 @@ static VALUE
|
|||
ossl_start_ssl(VALUE self, int (*func)())
|
||||
{
|
||||
SSL *ssl;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int ret;
|
||||
|
||||
Data_Get_Struct(self, SSL, ssl);
|
||||
|
@ -617,7 +617,7 @@ ossl_ssl_read(int argc, VALUE *argv, VALUE self)
|
|||
SSL *ssl;
|
||||
int ilen, nread = 0;
|
||||
VALUE len, str;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
rb_scan_args(argc, argv, "11", &len, &str);
|
||||
ilen = NUM2INT(len);
|
||||
|
@ -673,7 +673,7 @@ ossl_ssl_write(VALUE self, VALUE str)
|
|||
{
|
||||
SSL *ssl;
|
||||
int nwrite = 0;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
StringValue(str);
|
||||
Data_Get_Struct(self, SSL, ssl);
|
||||
|
|
|
@ -402,7 +402,7 @@ pty_getpty(int argc, VALUE *argv, VALUE self)
|
|||
VALUE res;
|
||||
struct pty_info info;
|
||||
struct pty_info thinfo;
|
||||
OpenFile *wfptr,*rfptr;
|
||||
rb_io_t *wfptr,*rfptr;
|
||||
VALUE rport = rb_obj_alloc(rb_cFile);
|
||||
VALUE wport = rb_obj_alloc(rb_cFile);
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ readline_readline(int argc, VALUE *argv, VALUE self)
|
|||
static VALUE
|
||||
readline_s_set_input(VALUE self, VALUE input)
|
||||
{
|
||||
OpenFile *ifp;
|
||||
rb_io_t *ifp;
|
||||
|
||||
rb_secure(4);
|
||||
Check_Type(input, T_FILE);
|
||||
|
@ -116,7 +116,7 @@ readline_s_set_input(VALUE self, VALUE input)
|
|||
static VALUE
|
||||
readline_s_set_output(VALUE self, VALUE output)
|
||||
{
|
||||
OpenFile *ofp;
|
||||
rb_io_t *ofp;
|
||||
|
||||
rb_secure(4);
|
||||
Check_Type(output, T_FILE);
|
||||
|
|
|
@ -232,7 +232,7 @@ ruby_getnameinfo__aix(sa, salen, host, hostlen, serv, servlen, flags)
|
|||
static VALUE
|
||||
init_sock(VALUE sock, int fd)
|
||||
{
|
||||
OpenFile *fp;
|
||||
rb_io_t *fp;
|
||||
|
||||
MakeOpenFile(sock, fp);
|
||||
fp->fd = fd;
|
||||
|
@ -248,7 +248,7 @@ init_sock(VALUE sock, int fd)
|
|||
static VALUE
|
||||
bsock_s_for_fd(VALUE klass, VALUE fd)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE sock = init_sock(rb_obj_alloc(klass), NUM2INT(fd));
|
||||
|
||||
GetOpenFile(sock, fptr);
|
||||
|
@ -261,7 +261,7 @@ bsock_shutdown(int argc, VALUE *argv, VALUE sock)
|
|||
{
|
||||
VALUE howto;
|
||||
int how;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't shutdown socket");
|
||||
|
@ -285,7 +285,7 @@ bsock_shutdown(int argc, VALUE *argv, VALUE sock)
|
|||
static VALUE
|
||||
bsock_close_read(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't close socket");
|
||||
|
@ -303,7 +303,7 @@ bsock_close_read(VALUE sock)
|
|||
static VALUE
|
||||
bsock_close_write(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
|
||||
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)
|
||||
{
|
||||
int level, option;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int i;
|
||||
char *v;
|
||||
int vlen;
|
||||
|
@ -449,7 +449,7 @@ bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname)
|
|||
int level, option;
|
||||
socklen_t len;
|
||||
char *buf;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
level = NUM2INT(lev);
|
||||
option = NUM2INT(optname);
|
||||
|
@ -471,7 +471,7 @@ bsock_getsockname(VALUE sock)
|
|||
{
|
||||
char buf[1024];
|
||||
socklen_t len = sizeof buf;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(sock, fptr);
|
||||
if (getsockname(fptr->fd, (struct sockaddr*)buf, &len) < 0)
|
||||
|
@ -484,7 +484,7 @@ bsock_getpeername(VALUE sock)
|
|||
{
|
||||
char buf[1024];
|
||||
socklen_t len = sizeof buf;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(sock, fptr);
|
||||
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 flags;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int fd, n;
|
||||
|
||||
rb_secure(4);
|
||||
|
@ -532,7 +532,7 @@ bsock_send(int argc, VALUE *argv, VALUE sock)
|
|||
static VALUE
|
||||
bsock_do_not_reverse_lookup(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(sock, fptr);
|
||||
return (fptr->mode & FMODE_NOREVLOOKUP) ? Qtrue : Qfalse;
|
||||
|
@ -541,7 +541,7 @@ bsock_do_not_reverse_lookup(VALUE sock)
|
|||
static VALUE
|
||||
bsock_do_not_reverse_lookup_set(VALUE sock, VALUE state)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
rb_secure(4);
|
||||
GetOpenFile(sock, fptr);
|
||||
|
@ -569,7 +569,7 @@ enum sock_recv_type {
|
|||
static VALUE
|
||||
s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE str;
|
||||
char buf[1024];
|
||||
socklen_t alen = sizeof buf;
|
||||
|
@ -640,7 +640,7 @@ s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
|
|||
static VALUE
|
||||
s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE str;
|
||||
char buf[1024];
|
||||
socklen_t alen = sizeof buf;
|
||||
|
@ -1356,7 +1356,7 @@ socks_init(VALUE sock, VALUE host, VALUE serv)
|
|||
static VALUE
|
||||
socks_s_close(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(sock)) {
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't close socket");
|
||||
|
@ -1455,7 +1455,7 @@ tcp_svr_init(int argc, VALUE *argv, VALUE sock)
|
|||
}
|
||||
|
||||
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;
|
||||
|
||||
|
@ -1506,7 +1506,7 @@ s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len)
|
|||
static VALUE
|
||||
tcp_accept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_storage from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -1548,7 +1548,7 @@ tcp_accept(VALUE sock)
|
|||
static VALUE
|
||||
tcp_accept_nonblock(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_storage from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -1561,7 +1561,7 @@ tcp_accept_nonblock(VALUE sock)
|
|||
static VALUE
|
||||
tcp_sysaccept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_storage from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -1588,7 +1588,7 @@ init_unixsock(VALUE sock, VALUE path, int server)
|
|||
{
|
||||
struct sockaddr_un sockaddr;
|
||||
int fd, status;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
SafeStringValue(path);
|
||||
fd = ruby_socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
|
@ -1640,7 +1640,7 @@ init_unixsock(VALUE sock, VALUE path, int server)
|
|||
static VALUE
|
||||
ip_addr(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_storage addr;
|
||||
socklen_t len = sizeof addr;
|
||||
|
||||
|
@ -1654,7 +1654,7 @@ ip_addr(VALUE sock)
|
|||
static VALUE
|
||||
ip_peeraddr(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_storage addr;
|
||||
socklen_t len = sizeof addr;
|
||||
|
||||
|
@ -1726,7 +1726,7 @@ udp_connect_internal(struct udp_arg *arg)
|
|||
static VALUE
|
||||
udp_connect(VALUE sock, VALUE host, VALUE port)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct udp_arg arg;
|
||||
VALUE ret;
|
||||
|
||||
|
@ -1743,7 +1743,7 @@ udp_connect(VALUE sock, VALUE host, VALUE port)
|
|||
static VALUE
|
||||
udp_bind(VALUE sock, VALUE host, VALUE port)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct addrinfo *res0, *res;
|
||||
|
||||
rb_secure(3);
|
||||
|
@ -1765,7 +1765,7 @@ static VALUE
|
|||
udp_send(int argc, VALUE *argv, VALUE sock)
|
||||
{
|
||||
VALUE mesg, flags, host, port;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int n;
|
||||
struct addrinfo *res0, *res;
|
||||
|
||||
|
@ -1860,7 +1860,7 @@ unixpath(struct sockaddr_un *sockaddr, socklen_t len)
|
|||
static VALUE
|
||||
unix_path(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(sock, fptr);
|
||||
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)
|
||||
int fd;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct msghdr msg;
|
||||
struct iovec vec[1];
|
||||
char buf[1];
|
||||
|
@ -1915,7 +1915,7 @@ unix_send_io(VALUE sock, VALUE val)
|
|||
#endif
|
||||
|
||||
if (rb_obj_is_kind_of(val, rb_cIO)) {
|
||||
OpenFile *valfptr;
|
||||
rb_io_t *valfptr;
|
||||
GetOpenFile(val, valfptr);
|
||||
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)
|
||||
VALUE klass, mode;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct msghdr msg;
|
||||
struct iovec vec[2];
|
||||
char buf[1];
|
||||
|
@ -2069,7 +2069,7 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock)
|
|||
static VALUE
|
||||
unix_accept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_un from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -2111,7 +2111,7 @@ unix_accept(VALUE sock)
|
|||
static VALUE
|
||||
unix_accept_nonblock(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_un from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -2124,7 +2124,7 @@ unix_accept_nonblock(VALUE sock)
|
|||
static VALUE
|
||||
unix_sysaccept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_un from;
|
||||
socklen_t fromlen;
|
||||
|
||||
|
@ -2145,7 +2145,7 @@ unixaddr(struct sockaddr_un *sockaddr, socklen_t len)
|
|||
static VALUE
|
||||
unix_addr(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_un addr;
|
||||
socklen_t len = sizeof addr;
|
||||
|
||||
|
@ -2159,7 +2159,7 @@ unix_addr(VALUE sock)
|
|||
static VALUE
|
||||
unix_peeraddr(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct sockaddr_un addr;
|
||||
socklen_t len = sizeof addr;
|
||||
|
||||
|
@ -2431,7 +2431,7 @@ unix_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
|||
static VALUE
|
||||
sock_connect(VALUE sock, VALUE addr)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int fd, n;
|
||||
|
||||
StringValue(addr);
|
||||
|
@ -2487,7 +2487,7 @@ sock_connect(VALUE sock, VALUE addr)
|
|||
static VALUE
|
||||
sock_connect_nonblock(VALUE sock, VALUE addr)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int n;
|
||||
|
||||
StringValue(addr);
|
||||
|
@ -2584,7 +2584,7 @@ sock_connect_nonblock(VALUE sock, VALUE addr)
|
|||
static VALUE
|
||||
sock_bind(VALUE sock, VALUE addr)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
StringValue(addr);
|
||||
GetOpenFile(sock, fptr);
|
||||
|
@ -2667,7 +2667,7 @@ sock_bind(VALUE sock, VALUE addr)
|
|||
static VALUE
|
||||
sock_listen(VALUE sock, VALUE log)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int backlog;
|
||||
|
||||
rb_secure(4);
|
||||
|
@ -2857,7 +2857,7 @@ sock_recvfrom_nonblock(int argc, VALUE *argv, VALUE sock)
|
|||
static VALUE
|
||||
sock_accept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE sock2;
|
||||
char buf[1024];
|
||||
socklen_t len = sizeof buf;
|
||||
|
@ -2919,7 +2919,7 @@ sock_accept(VALUE sock)
|
|||
static VALUE
|
||||
sock_accept_nonblock(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE sock2;
|
||||
char buf[1024];
|
||||
socklen_t len = sizeof buf;
|
||||
|
@ -2971,7 +2971,7 @@ sock_accept_nonblock(VALUE sock)
|
|||
static VALUE
|
||||
sock_sysaccept(VALUE sock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE sock2;
|
||||
char buf[1024];
|
||||
socklen_t len = sizeof buf;
|
||||
|
|
24
file.c
24
file.c
|
@ -151,7 +151,7 @@ apply2files(void (*func)(const char *, void *), VALUE vargs, void *arg)
|
|||
static VALUE
|
||||
rb_file_path(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
fptr = RFILE(rb_io_taint_check(obj))->fptr;
|
||||
rb_io_check_initialized(fptr);
|
||||
|
@ -627,7 +627,7 @@ rb_stat(VALUE file, struct stat *st)
|
|||
rb_secure(2);
|
||||
tmp = rb_check_convert_type(file, T_FILE, "IO", "to_io");
|
||||
if (!NIL_P(tmp)) {
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(tmp, fptr);
|
||||
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");
|
||||
if (!NIL_P(tmp)) {
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(tmp, fptr);
|
||||
f = (HANDLE)rb_w32_get_osfhandle(fptr->fd);
|
||||
|
@ -710,7 +710,7 @@ rb_file_s_stat(VALUE klass, VALUE fname)
|
|||
static VALUE
|
||||
rb_io_stat(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct stat st;
|
||||
|
||||
GetOpenFile(obj, fptr);
|
||||
|
@ -770,7 +770,7 @@ static VALUE
|
|||
rb_file_lstat(VALUE obj)
|
||||
{
|
||||
#ifdef HAVE_LSTAT
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct stat st;
|
||||
|
||||
rb_secure(2);
|
||||
|
@ -1609,7 +1609,7 @@ rb_file_s_atime(VALUE klass, VALUE fname)
|
|||
static VALUE
|
||||
rb_file_atime(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct stat st;
|
||||
|
||||
GetOpenFile(obj, fptr);
|
||||
|
@ -1652,7 +1652,7 @@ rb_file_s_mtime(VALUE klass, VALUE fname)
|
|||
static VALUE
|
||||
rb_file_mtime(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct stat st;
|
||||
|
||||
GetOpenFile(obj, fptr);
|
||||
|
@ -1698,7 +1698,7 @@ rb_file_s_ctime(VALUE klass, VALUE fname)
|
|||
static VALUE
|
||||
rb_file_ctime(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct stat st;
|
||||
|
||||
GetOpenFile(obj, fptr);
|
||||
|
@ -1760,7 +1760,7 @@ rb_file_s_chmod(int argc, VALUE *argv)
|
|||
static VALUE
|
||||
rb_file_chmod(VALUE obj, VALUE vmode)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int mode;
|
||||
|
||||
rb_secure(2);
|
||||
|
@ -1891,7 +1891,7 @@ rb_file_s_chown(int argc, VALUE *argv)
|
|||
static VALUE
|
||||
rb_file_chown(VALUE obj, VALUE owner, VALUE group)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int o, g;
|
||||
|
||||
rb_secure(2);
|
||||
|
@ -3043,7 +3043,7 @@ rb_file_s_truncate(VALUE klass, VALUE path, VALUE len)
|
|||
static VALUE
|
||||
rb_file_truncate(VALUE obj, VALUE len)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
off_t pos;
|
||||
|
||||
rb_secure(2);
|
||||
|
@ -3134,7 +3134,7 @@ static VALUE
|
|||
rb_file_flock(VALUE obj, VALUE operation)
|
||||
{
|
||||
#ifndef __CHECKER__
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int op[2];
|
||||
|
||||
rb_secure(2);
|
||||
|
|
2
gc.c
2
gc.c
|
@ -34,7 +34,7 @@
|
|||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
int rb_io_fptr_finalize(struct OpenFile*);
|
||||
int rb_io_fptr_finalize(struct rb_io_t*);
|
||||
|
||||
#if !defined(setjmp) && defined(HAVE__SETJMP)
|
||||
#define setjmp(env) _setjmp(env)
|
||||
|
|
174
io.c
174
io.c
|
@ -212,7 +212,7 @@ rb_io_taint_check(VALUE io)
|
|||
}
|
||||
|
||||
void
|
||||
rb_io_check_initialized(OpenFile *fptr)
|
||||
rb_io_check_initialized(rb_io_t *fptr)
|
||||
{
|
||||
if (!fptr) {
|
||||
rb_raise(rb_eIOError, "uninitialized stream");
|
||||
|
@ -220,7 +220,7 @@ rb_io_check_initialized(OpenFile *fptr)
|
|||
}
|
||||
|
||||
void
|
||||
rb_io_check_closed(OpenFile *fptr)
|
||||
rb_io_check_closed(rb_io_t *fptr)
|
||||
{
|
||||
rb_io_check_initialized(fptr);
|
||||
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
|
||||
rb_io_get_io(VALUE io)
|
||||
|
@ -243,7 +243,7 @@ rb_io_check_io(VALUE io)
|
|||
}
|
||||
|
||||
static void
|
||||
io_unread(OpenFile *fptr)
|
||||
io_unread(rb_io_t *fptr)
|
||||
{
|
||||
off_t r;
|
||||
rb_io_check_closed(fptr);
|
||||
|
@ -262,7 +262,7 @@ io_unread(OpenFile *fptr)
|
|||
}
|
||||
|
||||
static int
|
||||
io_ungetc(int c, OpenFile *fptr)
|
||||
io_ungetc(int c, rb_io_t *fptr)
|
||||
{
|
||||
if (fptr->rbuf == NULL) {
|
||||
fptr->rbuf_off = 0;
|
||||
|
@ -284,8 +284,8 @@ io_ungetc(int c, OpenFile *fptr)
|
|||
return c;
|
||||
}
|
||||
|
||||
static OpenFile *
|
||||
flush_before_seek(OpenFile *fptr)
|
||||
static rb_io_t *
|
||||
flush_before_seek(rb_io_t *fptr)
|
||||
{
|
||||
io_fflush(fptr);
|
||||
io_unread(fptr);
|
||||
|
@ -304,7 +304,7 @@ flush_before_seek(OpenFile *fptr)
|
|||
#define FMODE_SYNCWRITE (FMODE_SYNC|FMODE_WRITABLE)
|
||||
|
||||
void
|
||||
rb_io_check_readable(OpenFile *fptr)
|
||||
rb_io_check_readable(rb_io_t *fptr)
|
||||
{
|
||||
rb_io_check_closed(fptr);
|
||||
if (!(fptr->mode & FMODE_READABLE)) {
|
||||
|
@ -316,7 +316,7 @@ rb_io_check_readable(OpenFile *fptr)
|
|||
}
|
||||
|
||||
void
|
||||
rb_io_check_writable(OpenFile *fptr)
|
||||
rb_io_check_writable(rb_io_t *fptr)
|
||||
{
|
||||
rb_io_check_closed(fptr);
|
||||
if (!(fptr->mode & FMODE_WRITABLE)) {
|
||||
|
@ -334,7 +334,7 @@ rb_read_pending(FILE *fp)
|
|||
}
|
||||
|
||||
int
|
||||
rb_io_read_pending(OpenFile *fptr)
|
||||
rb_io_read_pending(rb_io_t *fptr)
|
||||
{
|
||||
return READ_DATA_PENDING(fptr);
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ rb_read_check(FILE *fp)
|
|||
}
|
||||
|
||||
void
|
||||
rb_io_read_check(OpenFile *fptr)
|
||||
rb_io_read_check(rb_io_t *fptr)
|
||||
{
|
||||
if (!READ_DATA_PENDING(fptr)) {
|
||||
rb_thread_wait_fd(fptr->fd);
|
||||
|
@ -390,7 +390,7 @@ io_alloc(VALUE klass)
|
|||
#endif
|
||||
|
||||
static int
|
||||
wsplit_p(OpenFile *fptr)
|
||||
wsplit_p(rb_io_t *fptr)
|
||||
{
|
||||
int r;
|
||||
if (!(fptr->mode & FMODE_WSPLIT_INITIALIZED)) {
|
||||
|
@ -410,7 +410,7 @@ wsplit_p(OpenFile *fptr)
|
|||
}
|
||||
|
||||
static int
|
||||
io_fflush(OpenFile *fptr)
|
||||
io_fflush(rb_io_t *fptr)
|
||||
{
|
||||
int r, l;
|
||||
int wbuf_off, wbuf_len;
|
||||
|
@ -539,7 +539,7 @@ rb_io_wait_writable(int f)
|
|||
|
||||
/* writing functions */
|
||||
static long
|
||||
io_fwrite(VALUE str, OpenFile *fptr)
|
||||
io_fwrite(VALUE str, rb_io_t *fptr)
|
||||
{
|
||||
long len, n, r, l, offset = 0;
|
||||
|
||||
|
@ -611,7 +611,7 @@ io_fwrite(VALUE str, OpenFile *fptr)
|
|||
long
|
||||
rb_io_fwrite(const char *ptr, long len, FILE *f)
|
||||
{
|
||||
OpenFile of;
|
||||
rb_io_t of;
|
||||
|
||||
of.fd = fileno(f);
|
||||
of.stdio_file = f;
|
||||
|
@ -641,7 +641,7 @@ rb_io_fwrite(const char *ptr, long len, FILE *f)
|
|||
static VALUE
|
||||
io_write(VALUE io, VALUE str)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long n;
|
||||
VALUE tmp;
|
||||
|
||||
|
@ -712,7 +712,7 @@ rb_io_addstr(VALUE io, VALUE str)
|
|||
VALUE
|
||||
rb_io_flush(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (TYPE(io) != T_FILE) {
|
||||
return rb_funcall(io, id_flush, 0);
|
||||
|
@ -746,7 +746,7 @@ rb_io_flush(VALUE io)
|
|||
static VALUE
|
||||
rb_io_tell(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
off_t pos;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -758,7 +758,7 @@ rb_io_tell(VALUE io)
|
|||
static VALUE
|
||||
rb_io_seek(VALUE io, VALUE offset, int whence)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
off_t pos;
|
||||
|
||||
pos = NUM2OFFT(offset);
|
||||
|
@ -817,7 +817,7 @@ rb_io_seek_m(int argc, VALUE *argv, VALUE io)
|
|||
static VALUE
|
||||
rb_io_set_pos(VALUE io, VALUE offset)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
off_t pos;
|
||||
|
||||
pos = NUM2OFFT(offset);
|
||||
|
@ -845,7 +845,7 @@ rb_io_set_pos(VALUE io, VALUE offset)
|
|||
static VALUE
|
||||
rb_io_rewind(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
if (io_seek(fptr, 0L, 0) < 0) rb_sys_fail(fptr->path);
|
||||
|
@ -858,11 +858,11 @@ rb_io_rewind(VALUE io)
|
|||
}
|
||||
|
||||
static int
|
||||
io_getc(OpenFile *fptr)
|
||||
io_getc(rb_io_t *fptr)
|
||||
{
|
||||
int r;
|
||||
if (fptr->fd == 0 && (fptr->mode & FMODE_TTY) && TYPE(rb_stdout) == T_FILE) {
|
||||
OpenFile *ofp;
|
||||
rb_io_t *ofp;
|
||||
GetOpenFile(rb_stdout, ofp);
|
||||
if (ofp->mode & FMODE_TTY) {
|
||||
rb_io_flush(rb_stdout);
|
||||
|
@ -929,7 +929,7 @@ io_getc(OpenFile *fptr)
|
|||
VALUE
|
||||
rb_io_eof(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int ch;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -962,7 +962,7 @@ rb_io_eof(VALUE io)
|
|||
static VALUE
|
||||
rb_io_sync(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
return (fptr->mode & FMODE_SYNC) ? Qtrue : Qfalse;
|
||||
|
@ -986,7 +986,7 @@ rb_io_sync(VALUE io)
|
|||
static VALUE
|
||||
rb_io_set_sync(VALUE io, VALUE mode)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
if (RTEST(mode)) {
|
||||
|
@ -1014,7 +1014,7 @@ static VALUE
|
|||
rb_io_fsync(VALUE io)
|
||||
{
|
||||
#ifdef HAVE_FSYNC
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
||||
|
@ -1043,7 +1043,7 @@ rb_io_fsync(VALUE io)
|
|||
static VALUE
|
||||
rb_io_fileno(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int fd;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -1075,7 +1075,7 @@ rb_io_fileno(VALUE io)
|
|||
static VALUE
|
||||
rb_io_pid(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
if (!fptr->pid)
|
||||
|
@ -1094,7 +1094,7 @@ rb_io_pid(VALUE io)
|
|||
static VALUE
|
||||
rb_io_inspect(VALUE obj)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
char *cname;
|
||||
const char *st = "";
|
||||
|
||||
|
@ -1122,7 +1122,7 @@ rb_io_to_io(VALUE io)
|
|||
|
||||
/* reading functions */
|
||||
static long
|
||||
read_buffered_data(char *ptr, long len, OpenFile *fptr)
|
||||
read_buffered_data(char *ptr, long len, rb_io_t *fptr)
|
||||
{
|
||||
long n;
|
||||
|
||||
|
@ -1136,7 +1136,7 @@ read_buffered_data(char *ptr, long len, OpenFile *fptr)
|
|||
}
|
||||
|
||||
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 n = len;
|
||||
|
@ -1164,7 +1164,7 @@ io_fread(VALUE str, long offset, OpenFile *fptr)
|
|||
long
|
||||
rb_io_fread(char *ptr, long len, FILE *f)
|
||||
{
|
||||
OpenFile of;
|
||||
rb_io_t of;
|
||||
VALUE str;
|
||||
long n;
|
||||
|
||||
|
@ -1180,7 +1180,7 @@ rb_io_fread(char *ptr, long len, FILE *f)
|
|||
#define SMALLBUF 100
|
||||
|
||||
static long
|
||||
remain_size(OpenFile *fptr)
|
||||
remain_size(rb_io_t *fptr)
|
||||
{
|
||||
struct stat st;
|
||||
off_t siz = READ_DATA_PENDING_COUNT(fptr);
|
||||
|
@ -1208,7 +1208,7 @@ remain_size(OpenFile *fptr)
|
|||
}
|
||||
|
||||
static VALUE
|
||||
read_all(OpenFile *fptr, long siz, VALUE str)
|
||||
read_all(rb_io_t *fptr, long siz, VALUE str)
|
||||
{
|
||||
long bytes = 0;
|
||||
long n;
|
||||
|
@ -1237,7 +1237,7 @@ read_all(OpenFile *fptr, long siz, VALUE str)
|
|||
return str;
|
||||
}
|
||||
|
||||
void rb_io_set_nonblock(OpenFile *fptr)
|
||||
void rb_io_set_nonblock(rb_io_t *fptr)
|
||||
{
|
||||
int flags;
|
||||
#ifdef F_GETFL
|
||||
|
@ -1259,7 +1259,7 @@ void rb_io_set_nonblock(OpenFile *fptr)
|
|||
static VALUE
|
||||
io_getpartial(int argc, VALUE *argv, VALUE io, int nonblock)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE length, str;
|
||||
long n, len;
|
||||
|
||||
|
@ -1443,7 +1443,7 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
|
|||
static VALUE
|
||||
rb_io_write_nonblock(VALUE io, VALUE str)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long n;
|
||||
|
||||
rb_secure(4);
|
||||
|
@ -1488,7 +1488,7 @@ rb_io_write_nonblock(VALUE io, VALUE str)
|
|||
static VALUE
|
||||
io_read(int argc, VALUE *argv, VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long n, len;
|
||||
VALUE length, str;
|
||||
|
||||
|
@ -1535,7 +1535,7 @@ io_read(int argc, VALUE *argv, VALUE io)
|
|||
}
|
||||
|
||||
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;
|
||||
int c = EOF;
|
||||
|
@ -1604,7 +1604,7 @@ appendline(OpenFile *fptr, int delim, VALUE *strp, long *lp)
|
|||
}
|
||||
|
||||
static inline int
|
||||
swallow(OpenFile *fptr, int term)
|
||||
swallow(rb_io_t *fptr, int term)
|
||||
{
|
||||
int c;
|
||||
|
||||
|
@ -1633,7 +1633,7 @@ swallow(OpenFile *fptr, int term)
|
|||
}
|
||||
|
||||
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;
|
||||
int c, nolimit = 0;
|
||||
|
@ -1697,7 +1697,7 @@ static VALUE
|
|||
rb_io_getline_1(VALUE rs, long limit, VALUE io)
|
||||
{
|
||||
VALUE str = Qnil;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int nolimit = 0;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -1777,7 +1777,7 @@ rb_io_getline(int argc, VALUE *argv, VALUE io)
|
|||
VALUE
|
||||
rb_io_gets(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
rb_io_check_readable(fptr);
|
||||
|
@ -1838,7 +1838,7 @@ rb_io_gets_m(int argc, VALUE *argv, VALUE io)
|
|||
static VALUE
|
||||
rb_io_lineno(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
rb_io_check_readable(fptr);
|
||||
|
@ -1865,7 +1865,7 @@ rb_io_lineno(VALUE io)
|
|||
static VALUE
|
||||
rb_io_set_lineno(VALUE io, VALUE lineno)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
rb_io_check_readable(fptr);
|
||||
|
@ -2002,7 +2002,7 @@ rb_io_each_line(int argc, VALUE *argv, VALUE io)
|
|||
static VALUE
|
||||
rb_io_each_byte(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int c;
|
||||
|
||||
RETURN_ENUMERATOR(io, 0, 0);
|
||||
|
@ -2056,7 +2056,7 @@ rb_io_bytes(VALUE str)
|
|||
VALUE
|
||||
rb_io_getc(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int c;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -2087,7 +2087,7 @@ VALUE
|
|||
rb_io_getc_m(VALUE io)
|
||||
{
|
||||
char ch;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int c;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -2156,7 +2156,7 @@ rb_io_readchar(VALUE io)
|
|||
VALUE
|
||||
rb_io_ungetc(VALUE io, VALUE c)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int cc;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -2193,7 +2193,7 @@ rb_io_ungetc(VALUE io, VALUE c)
|
|||
static VALUE
|
||||
rb_io_isatty(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
if (isatty(fptr->fd) == 0)
|
||||
|
@ -2206,7 +2206,7 @@ rb_io_isatty(VALUE io)
|
|||
#define PREP_STDIO_NAME(f) ((f)->path)
|
||||
|
||||
static void
|
||||
fptr_finalize(OpenFile *fptr, int noraise)
|
||||
fptr_finalize(rb_io_t *fptr, int noraise)
|
||||
{
|
||||
if (fptr->wbuf_len) {
|
||||
io_fflush(fptr);
|
||||
|
@ -2235,7 +2235,7 @@ fptr_finalize(OpenFile *fptr, int noraise)
|
|||
}
|
||||
|
||||
static void
|
||||
rb_io_fptr_cleanup(OpenFile *fptr, int noraise)
|
||||
rb_io_fptr_cleanup(rb_io_t *fptr, int noraise)
|
||||
{
|
||||
if (fptr->finalize) {
|
||||
(*fptr->finalize)(fptr, noraise);
|
||||
|
@ -2246,7 +2246,7 @@ rb_io_fptr_cleanup(OpenFile *fptr, int noraise)
|
|||
}
|
||||
|
||||
int
|
||||
rb_io_fptr_finalize(OpenFile *fptr)
|
||||
rb_io_fptr_finalize(rb_io_t *fptr)
|
||||
{
|
||||
if (!fptr) return 0;
|
||||
if (fptr->refcnt <= 0 || --fptr->refcnt) return 0;
|
||||
|
@ -2271,7 +2271,7 @@ rb_io_fptr_finalize(OpenFile *fptr)
|
|||
VALUE
|
||||
rb_io_close(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int fd;
|
||||
|
||||
fptr = RFILE(io)->fptr;
|
||||
|
@ -2349,7 +2349,7 @@ io_close(VALUE io)
|
|||
static VALUE
|
||||
rb_io_closed(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
fptr = RFILE(io)->fptr;
|
||||
rb_io_check_initialized(fptr);
|
||||
|
@ -2377,7 +2377,7 @@ rb_io_closed(VALUE io)
|
|||
static VALUE
|
||||
rb_io_close_read(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) {
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't close");
|
||||
|
@ -2422,7 +2422,7 @@ rb_io_close_read(VALUE io)
|
|||
static VALUE
|
||||
rb_io_close_write(VALUE io)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
if (rb_safe_level() >= 4 && !OBJ_TAINTED(io)) {
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't close");
|
||||
|
@ -2464,7 +2464,7 @@ rb_io_sysseek(int argc, VALUE *argv, VALUE io)
|
|||
{
|
||||
VALUE offset, ptrname;
|
||||
int whence = SEEK_SET;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
off_t pos;
|
||||
|
||||
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
|
||||
rb_io_syswrite(VALUE io, VALUE str)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long n;
|
||||
|
||||
rb_secure(4);
|
||||
|
@ -2545,7 +2545,7 @@ static VALUE
|
|||
rb_io_sysread(int argc, VALUE *argv, VALUE io)
|
||||
{
|
||||
VALUE len, str;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long n, ilen;
|
||||
|
||||
rb_scan_args(argc, argv, "11", &len, &str);
|
||||
|
@ -2604,7 +2604,7 @@ VALUE
|
|||
rb_io_binmode(VALUE io)
|
||||
{
|
||||
#if defined(_WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(__human68k__) || defined(__EMX__)
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
if (!(fptr->mode & FMODE_BINMODE) && READ_DATA_BUFFERED(fptr)) {
|
||||
|
@ -2866,7 +2866,7 @@ rb_fdopen(int fd, const char *mode)
|
|||
}
|
||||
|
||||
static void
|
||||
io_check_tty(OpenFile *fptr)
|
||||
io_check_tty(rb_io_t *fptr)
|
||||
{
|
||||
if (isatty(fptr->fd))
|
||||
fptr->mode |= FMODE_TTY|FMODE_DUPLEX;
|
||||
|
@ -2875,7 +2875,7 @@ io_check_tty(OpenFile *fptr)
|
|||
static VALUE
|
||||
rb_file_open_internal(VALUE io, const char *fname, const char *mode)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
MakeOpenFile(io, fptr);
|
||||
fptr->mode = rb_io_mode_flags(mode);
|
||||
|
@ -2895,7 +2895,7 @@ rb_file_open(const char *fname, const char *mode)
|
|||
static VALUE
|
||||
rb_file_sysopen_internal(VALUE io, const char *fname, int flags, int mode)
|
||||
{
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
MakeOpenFile(io, fptr);
|
||||
|
||||
|
@ -2915,12 +2915,12 @@ rb_file_sysopen(const char *fname, int flags, int mode)
|
|||
|
||||
#if defined(__CYGWIN__) || !defined(HAVE_FORK)
|
||||
static struct pipe_list {
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
struct pipe_list *next;
|
||||
} *pipe_list;
|
||||
|
||||
static void
|
||||
pipe_add_fptr(OpenFile *fptr)
|
||||
pipe_add_fptr(rb_io_t *fptr)
|
||||
{
|
||||
struct pipe_list *list;
|
||||
|
||||
|
@ -2931,7 +2931,7 @@ pipe_add_fptr(OpenFile *fptr)
|
|||
}
|
||||
|
||||
static void
|
||||
pipe_del_fptr(OpenFile *fptr)
|
||||
pipe_del_fptr(rb_io_t *fptr)
|
||||
{
|
||||
struct pipe_list *list = pipe_list;
|
||||
struct pipe_list *tmp;
|
||||
|
@ -2967,7 +2967,7 @@ pipe_atexit(void)
|
|||
}
|
||||
|
||||
static void
|
||||
pipe_finalize(OpenFile *fptr, int noraise)
|
||||
pipe_finalize(rb_io_t *fptr, int noraise)
|
||||
{
|
||||
#if !defined(HAVE_FORK) && !defined(_WIN32)
|
||||
int status;
|
||||
|
@ -2988,13 +2988,13 @@ pipe_finalize(OpenFile *fptr, int noraise)
|
|||
#endif
|
||||
|
||||
void
|
||||
rb_io_synchronized(OpenFile *fptr)
|
||||
rb_io_synchronized(rb_io_t *fptr)
|
||||
{
|
||||
fptr->mode |= FMODE_SYNC;
|
||||
}
|
||||
|
||||
void
|
||||
rb_io_unbuffered(OpenFile *fptr)
|
||||
rb_io_unbuffered(rb_io_t *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 pid = 0;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
VALUE port, prog;
|
||||
#if defined(HAVE_FORK) && defined(HAVE_SOCKETPAIR)
|
||||
int status;
|
||||
|
@ -3497,7 +3497,7 @@ rb_io_open(const char *fname, const char *mode)
|
|||
static VALUE
|
||||
io_reopen(VALUE io, VALUE nfile)
|
||||
{
|
||||
OpenFile *fptr, *orig;
|
||||
rb_io_t *fptr, *orig;
|
||||
int fd, fd2;
|
||||
off_t pos = 0;
|
||||
|
||||
|
@ -3530,7 +3530,7 @@ io_reopen(VALUE io, VALUE nfile)
|
|||
io_fflush(fptr);
|
||||
}
|
||||
|
||||
/* copy OpenFile structure */
|
||||
/* copy rb_io_t structure */
|
||||
fptr->mode = orig->mode | (fptr->mode & FMODE_PREP);
|
||||
fptr->pid = orig->pid;
|
||||
fptr->lineno = orig->lineno;
|
||||
|
@ -3602,7 +3602,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
|||
{
|
||||
VALUE fname, nmode;
|
||||
const char *mode;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
rb_secure(4);
|
||||
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);
|
||||
fptr = RFILE(file)->fptr;
|
||||
if (!fptr) {
|
||||
fptr = RFILE(file)->fptr = ALLOC(OpenFile);
|
||||
MEMZERO(fptr, OpenFile, 1);
|
||||
fptr = RFILE(file)->fptr = ALLOC(rb_io_t);
|
||||
MEMZERO(fptr, rb_io_t, 1);
|
||||
}
|
||||
|
||||
if (!NIL_P(nmode)) {
|
||||
|
@ -3674,7 +3674,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
|
|||
static VALUE
|
||||
rb_io_init_copy(VALUE dest, VALUE io)
|
||||
{
|
||||
OpenFile *fptr, *orig;
|
||||
rb_io_t *fptr, *orig;
|
||||
int fd;
|
||||
|
||||
io = rb_io_get_io(io);
|
||||
|
@ -3684,7 +3684,7 @@ rb_io_init_copy(VALUE dest, VALUE io)
|
|||
|
||||
rb_io_flush(io);
|
||||
|
||||
/* copy OpenFile structure */
|
||||
/* copy rb_io_t structure */
|
||||
fptr->mode = orig->mode & ~FMODE_PREP;
|
||||
fptr->pid = orig->pid;
|
||||
fptr->lineno = orig->lineno;
|
||||
|
@ -4068,7 +4068,7 @@ deferr_setter(VALUE val, ID id, VALUE *variable)
|
|||
static VALUE
|
||||
prep_io(int fd, int mode, VALUE klass, const char *path)
|
||||
{
|
||||
OpenFile *fp;
|
||||
rb_io_t *fp;
|
||||
VALUE io = io_alloc(klass);
|
||||
|
||||
MakeOpenFile(io, fp);
|
||||
|
@ -4089,7 +4089,7 @@ prep_io(int fd, int mode, VALUE klass, const char *path)
|
|||
static VALUE
|
||||
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);
|
||||
|
||||
GetOpenFile(io, fptr);
|
||||
|
@ -4098,7 +4098,7 @@ prep_stdio(FILE *f, int mode, VALUE klass, const char *path)
|
|||
return io;
|
||||
}
|
||||
|
||||
FILE *rb_io_stdio_file(OpenFile *fptr)
|
||||
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));
|
||||
|
@ -4131,7 +4131,7 @@ static VALUE
|
|||
rb_io_initialize(int argc, VALUE *argv, VALUE io)
|
||||
{
|
||||
VALUE fnum, mode, orig;
|
||||
OpenFile *fp, *ofp = NULL;
|
||||
rb_io_t *fp, *ofp = NULL;
|
||||
int fd, flags, fmode;
|
||||
|
||||
rb_secure(4);
|
||||
|
@ -4307,7 +4307,7 @@ next_argv(void)
|
|||
{
|
||||
extern VALUE rb_argv;
|
||||
char *fn;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
int stdout_binmode = 0;
|
||||
|
||||
if (TYPE(rb_stdout) == T_FILE) {
|
||||
|
@ -4601,7 +4601,7 @@ rb_f_backquote(VALUE obj, VALUE str)
|
|||
{
|
||||
volatile VALUE port;
|
||||
VALUE result;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
|
||||
SafeStringValue(str);
|
||||
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;
|
||||
fd_set *rp, *wp, *ep;
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long i;
|
||||
int max = 0, n;
|
||||
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__)
|
||||
int cmd = NUM2ULONG(req);
|
||||
OpenFile *fptr;
|
||||
rb_io_t *fptr;
|
||||
long len = 0;
|
||||
long narg = 0;
|
||||
int retval;
|
||||
|
|
2
ruby.h
2
ruby.h
|
@ -448,7 +448,7 @@ struct RHash {
|
|||
|
||||
struct RFile {
|
||||
struct RBasic basic;
|
||||
struct OpenFile *fptr;
|
||||
struct rb_io_t *fptr;
|
||||
};
|
||||
|
||||
struct RData {
|
||||
|
|
28
rubyio.h
28
rubyio.h
|
@ -20,14 +20,14 @@
|
|||
#include <stdio_ext.h>
|
||||
#endif
|
||||
|
||||
typedef struct OpenFile {
|
||||
typedef struct rb_io_t {
|
||||
int fd; /* file descriptor */
|
||||
FILE *stdio_file; /* stdio ptr for read/write if available */
|
||||
int mode; /* mode flags */
|
||||
rb_pid_t pid; /* child's pid (for pipes) */
|
||||
int lineno; /* number of lines read */
|
||||
char *path; /* pathname for file */
|
||||
void (*finalize)(struct OpenFile*,int); /* finalize proc */
|
||||
void (*finalize)(struct rb_io_t*,int); /* finalize proc */
|
||||
long refcnt;
|
||||
char *wbuf; /* wbuf_off + wbuf_len <= wbuf_capa */
|
||||
int wbuf_off;
|
||||
|
@ -37,7 +37,7 @@ typedef struct OpenFile {
|
|||
int rbuf_off;
|
||||
int rbuf_len;
|
||||
int rbuf_capa;
|
||||
} OpenFile;
|
||||
} rb_io_t;
|
||||
|
||||
#define FMODE_READABLE 1
|
||||
#define FMODE_WRITABLE 2
|
||||
|
@ -60,7 +60,7 @@ typedef struct OpenFile {
|
|||
RFILE(obj)->fptr = 0;\
|
||||
}\
|
||||
fp = 0;\
|
||||
fp = RFILE(obj)->fptr = ALLOC(OpenFile);\
|
||||
fp = RFILE(obj)->fptr = ALLOC(rb_io_t);\
|
||||
fp->fd = -1;\
|
||||
fp->stdio_file = NULL;\
|
||||
fp->mode = 0;\
|
||||
|
@ -79,27 +79,27 @@ typedef struct OpenFile {
|
|||
fp->rbuf_capa = 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_fdopen(int, const char*);
|
||||
int rb_io_mode_flags(const char*);
|
||||
int rb_io_modenum_flags(int);
|
||||
void rb_io_check_writable(OpenFile*);
|
||||
void rb_io_check_readable(OpenFile*);
|
||||
int rb_io_fptr_finalize(OpenFile*);
|
||||
void rb_io_synchronized(OpenFile*);
|
||||
void rb_io_check_initialized(OpenFile*);
|
||||
void rb_io_check_closed(OpenFile*);
|
||||
void rb_io_check_writable(rb_io_t*);
|
||||
void rb_io_check_readable(rb_io_t*);
|
||||
int rb_io_fptr_finalize(rb_io_t*);
|
||||
void rb_io_synchronized(rb_io_t*);
|
||||
void rb_io_check_initialized(rb_io_t*);
|
||||
void rb_io_check_closed(rb_io_t*);
|
||||
int rb_io_wait_readable(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);
|
||||
NORETURN(void rb_eof_error(void));
|
||||
|
||||
void rb_io_read_check(OpenFile*);
|
||||
int rb_io_read_pending(OpenFile*);
|
||||
void rb_io_read_check(rb_io_t*);
|
||||
int rb_io_read_pending(rb_io_t*);
|
||||
void rb_read_check(FILE*);
|
||||
|
||||
DEPRECATED(int rb_getc(FILE*));
|
||||
|
|
|
@ -19,11 +19,8 @@
|
|||
//
|
||||
|
||||
// #include <stdarg.h> conflict with varargs.h?
|
||||
// There is function-name conflitct, so we rename it
|
||||
#if !defined(WSAAPI)
|
||||
#define OpenFile WINAPI_OpenFile
|
||||
#include <winsock2.h>
|
||||
#undef OpenFile
|
||||
#endif
|
||||
|
||||
#define NT 1 /* deprecated */
|
||||
|
|
Загрузка…
Ссылка в новой задаче