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

Version Path
pry-doc-0.4.4 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.4.3 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.4.2 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.4.1 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.4.0 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.3.0 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.2.4pre1 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.2.3pre1 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.2.1 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.2.0 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-doc-0.1.5pre1 lib/pry-doc/core_docs_19/objects/IO/initialize_copy_i.dat
pry-0.6.9pre1-i386-mingw32 lib/pry/core_docs_19/objects/IO/initialize_copy_i.dat