Sha256: 850a2f13b4bdde8bcf174f65ce4acdf1887563e02b58d12f19835416c291c548
Contents?: true
Size: 1.5 KB
Versions: 12
Compression:
Stored size: 1.5 KB
Contents
o:$YARD::CodeObjects::MethodObject:@scope: instance:@visibility:public: @pathI"IO#initialize_copy:EF:@parameters[ :@files[[I" io.c;T0:@current_file_has_commentsF: @name:initialize_copy:@source_type:c: @tags[ :@docstringIC:YARD::Docstring":nodoc:;F:@objectIu:YARD::StubProxyIO#initialize_copy;F: @summary0:@ref_tags[ ;[ : @allI":nodoc:;F:@namespaceIu;IO;F:@docstring_extra0:@sourceI"M/* :nodoc: */ static VALUE rb_io_init_copy(VALUE dest, VALUE io) { rb_io_t *fptr, *orig; int fd; VALUE write_io; off_t pos; io = rb_io_get_io(io); if (dest == io) return dest; GetOpenFile(io, orig); MakeOpenFile(dest, fptr); rb_io_flush(io); /* copy rb_io_t structure */ fptr->mode = orig->mode & ~FMODE_PREP; fptr->encs = orig->encs; fptr->pid = orig->pid; fptr->lineno = orig->lineno; if (!NIL_P(orig->pathv)) fptr->pathv = orig->pathv; fptr->finalize = orig->finalize; #if defined (__CYGWIN__) || !defined(HAVE_FORK) if (fptr->finalize == pipe_finalize) pipe_add_fptr(fptr); #endif fd = ruby_dup(orig->fd); fptr->fd = fd; pos = io_tell(orig); if (0 <= pos) io_seek(fptr, pos, SEEK_SET); if (fptr->mode & FMODE_BINMODE) { rb_io_binmode(dest); } write_io = GetWriteIO(io); if (io != write_io) { write_io = rb_obj_dup(write_io); fptr->tied_io_for_writing = write_io; rb_ivar_set(dest, rb_intern("@tied_io_for_writing"), write_io); } return dest; };F
Version data entries
12 entries across 12 versions & 2 rubygems