io.c:1630
char*
rb_io_flags_mode(flags, mode)
    int flags;
    char *mode;
{
    char *p = mode;

    switch (flags & FMODE_READWRITE) {
      case FMODE_READABLE:
	*p++ = 'r';
	break;
      case FMODE_WRITABLE:
	*p++ = 'w';
	break;
      case FMODE_READWRITE:
	*p++ = 'r';
	*p++ = '+';
	break;
    }
    *p++ = '\0';
#ifdef O_BINARY
    if (flags & FMODE_BINMODE) {
	if (mode[1] == '+') {
	    mode[1] = 'b'; mode[2] = '+'; mode[3] = '\0';
	}
	else {
	    mode[1] = 'b'; mode[2] = '\0';
	}
    }
#endif
    return mode;
}
