public Method

IO.binmode

ios.binmode     ios

Puts ios into binary mode. This is useful only in MS-DOS/Windows environments. Once a stream is in binary mode, it cannot be reset to nonbinary mode.

Source Code

/*
*  call-seq:
*     ios.binmode    => ios
*  
*  Puts <em>ios</em> into binary mode. This is useful only in
*  MS-DOS/Windows environments. Once a stream is in binary mode, it
*  cannot be reset to nonbinary mode.
*/

VALUE
rb_io_binmode(io)
   VALUE io;
{
#if defined(_WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(__human68k__) || defined(__EMX__)
   OpenFile *fptr;

   GetOpenFile(io, fptr);
#ifdef __human68k__
   if (fptr->f)
       fmode(fptr->f, _IOBIN);
   if (fptr->f2)
       fmode(fptr->f2, _IOBIN);
#else
   if (fptr->f && setmode(fileno(fptr->f), O_BINARY) == -1)
       rb_sys_fail(fptr->path);
   if (fptr->f2 && setmode(fileno(fptr->f2), O_BINARY) == -1)
       rb_sys_fail(fptr->path);
#endif

   fptr->mode |= FMODE_BINMODE;
#endif
   return io;
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.