Lines Matching refs:fmode

1280 # define MODE_BTMODE(a,b,c) ((fmode & FMODE_BINMODE) ? (b) : \
1281 (fmode & FMODE_TEXTMODE) ? (c) : (a))
1292 #define fmode (fptr->mode)
1299 #undef fmode
1318 #define fmode (fptr->mode)
1332 #undef fmode
4691 rb_io_fmode_modestr(int fmode)
4693 if (fmode & FMODE_APPEND) {
4694 if ((fmode & FMODE_READWRITE) == FMODE_READWRITE) {
4699 switch (fmode & FMODE_READWRITE) {
4701 rb_raise(rb_eArgError, "invalid access fmode 0x%x", fmode);
4707 if (fmode & FMODE_CREATE) {
4729 int fmode = 0;
4734 fmode |= FMODE_READABLE;
4737 fmode |= FMODE_WRITABLE | FMODE_TRUNC | FMODE_CREATE;
4740 fmode |= FMODE_WRITABLE | FMODE_APPEND | FMODE_CREATE;
4750 fmode |= FMODE_BINMODE;
4753 fmode |= FMODE_TEXTMODE;
4756 fmode |= FMODE_READWRITE;
4767 if ((fmode & FMODE_BINMODE) && (fmode & FMODE_TEXTMODE))
4770 fmode |= FMODE_SETENC_BY_BOM;
4772 return fmode;
4778 int fmode = 0;
4782 fmode = FMODE_READABLE;
4785 fmode = FMODE_WRITABLE;
4788 fmode = FMODE_READWRITE;
4793 fmode |= FMODE_APPEND;
4796 fmode |= FMODE_TRUNC;
4799 fmode |= FMODE_CREATE;
4803 fmode |= FMODE_BINMODE;
4807 return fmode;
4811 rb_io_fmode_oflags(int fmode)
4815 switch (fmode & FMODE_READWRITE) {
4827 if (fmode & FMODE_APPEND) {
4830 if (fmode & FMODE_TRUNC) {
4833 if (fmode & FMODE_CREATE) {
4837 if (fmode & FMODE_BINMODE) {
4886 rb_io_ext_int_to_encs(rb_encoding *ext, rb_encoding *intern, rb_encoding **enc, rb_encoding **enc2, int fmode)
4898 (!(fmode & FMODE_SETENC_BY_BOM) && (intern == ext))) {
4921 int fmode = fmode_p ? *fmode_p : 0;
4933 fmode |= FMODE_SETENC_BY_BOM;
4946 fmode |= FMODE_SETENC_BY_BOM;
4955 if (fmode_p) *fmode_p = fmode;
4975 else if (!(fmode & FMODE_SETENC_BY_BOM) && (idx2 == idx)) {
4983 rb_io_ext_int_to_encs(ext_enc, int_enc, enc_p, enc2_p, fmode);
5059 int fmode = *fmode_p;
5061 if ((fmode & FMODE_READABLE) &&
5063 !(fmode & FMODE_BINMODE) &&
5067 if (!(fmode & FMODE_BINMODE) &&
5069 fmode |= DEFAULT_TEXTMODE;
5070 *fmode_p = fmode;
5074 fmode &= ~FMODE_TEXTMODE;
5075 *fmode_p = fmode;
5081 extract_binmode(VALUE opthash, int *fmode)
5087 if (*fmode & FMODE_TEXTMODE)
5090 *fmode |= FMODE_TEXTMODE;
5094 if (*fmode & FMODE_BINMODE)
5097 *fmode |= FMODE_BINMODE;
5100 if ((*fmode & FMODE_BINMODE) && (*fmode & FMODE_TEXTMODE))
5110 int oflags, fmode;
5124 fmode = FMODE_READABLE;
5130 fmode = rb_io_oflags_fmode(oflags);
5137 fmode = rb_io_modestr_fmode(p);
5138 oflags = rb_io_fmode_oflags(fmode);
5142 parse_mode_enc(p+1, &enc, &enc2, &fmode);
5147 e = (fmode & FMODE_BINMODE) ? rb_ascii8bit_encoding() : NULL;
5148 rb_io_ext_int_to_encs(e, NULL, &enc, &enc2, fmode);
5153 ecflags = (fmode & FMODE_READABLE) ?
5157 ecflags |= (fmode & FMODE_WRITABLE) ?
5166 extract_binmode(opthash, &fmode);
5167 if (fmode & FMODE_BINMODE) {
5172 rb_io_ext_int_to_encs(rb_ascii8bit_encoding(), NULL, &enc, &enc2, fmode);
5176 fmode |= DEFAULT_TEXTMODE;
5202 ecflags = (fmode & FMODE_READABLE) ?
5206 ecflags |= (fmode & FMODE_WRITABLE) ?
5211 if (rb_io_extract_encoding_option(opthash, &enc, &enc2, &fmode)) {
5220 validate_enc_binmode(&fmode, ecflags, enc, enc2);
5225 *fmode_p = fmode;
5408 rb_file_open_generic(VALUE io, VALUE filename, int oflags, int fmode, convconfig_t *convconfig, mode_t perm)
5414 rb_io_ext_int_to_encs(NULL, NULL, &cc.enc, &cc.enc2, fmode);
5419 validate_enc_binmode(&fmode, convconfig->ecflags,
5423 fptr->mode = fmode;
5428 if (fmode & FMODE_SETENC_BY_BOM) io_set_encoding_by_bom(io);
5436 int fmode = rb_io_modestr_fmode(modestr);
5441 parse_mode_enc(p+1, &convconfig.enc, &convconfig.enc2, &fmode);
5447 e = (fmode & FMODE_BINMODE) ? rb_ascii8bit_encoding() : NULL;
5448 rb_io_ext_int_to_encs(e, NULL, &convconfig.enc, &convconfig.enc2, fmode);
5454 rb_io_fmode_oflags(fmode),
5455 fmode,
5710 pipe_open(VALUE execarg_obj, const char *modestr, int fmode, convconfig_t *convconfig)
5764 arg.modef = fmode;
5772 switch (fmode & (FMODE_READABLE|FMODE_WRITABLE)) {
5850 if ((fmode & (FMODE_READABLE|FMODE_WRITABLE)) == (FMODE_READABLE|FMODE_WRITABLE)) {
5861 if ((fmode & FMODE_READABLE) && (fmode & FMODE_WRITABLE)) {
5867 else if (fmode & FMODE_READABLE) {
5895 fptr->mode = fmode | FMODE_SYNC|FMODE_DUPLEX;
5920 write_fptr->mode = (fmode & ~FMODE_READABLE)| FMODE_SYNC|FMODE_DUPLEX;
5948 pipe_open_s(VALUE prog, const char *modestr, int fmode, convconfig_t *convconfig)
5956 return pipe_open(execarg_obj, modestr, fmode, convconfig);
6052 int oflags, fmode;
6095 rb_io_extract_modeenc(&pmode, 0, opt, &oflags, &fmode, &convconfig);
6098 port = pipe_open(execarg_obj, modestr, fmode, &convconfig);
6122 int oflags, fmode;
6128 rb_io_extract_modeenc(&vmode, &vperm, opt, &oflags, &fmode, convconfig_p);
6134 *fmode_p = fmode;
6142 int oflags, fmode;
6146 rb_scan_open_args(argc, argv, &fname, &oflags, &fmode, &convconfig, &perm);
6147 rb_file_open_generic(io, fname, oflags, fmode, &convconfig, perm);
6267 * it is a string, it is either "fmode", "fmode:ext_enc", or
6268 * "fmode:ext_enc:int_enc".
6393 int oflags, fmode;
6397 rb_io_extract_modeenc(&vmode, &vperm, opt, &oflags, &fmode, &convconfig);
6401 return pipe_open_s(cmd, rb_io_oflags_modestr(oflags), fmode, &convconfig);
6405 oflags, fmode, &convconfig, perm);
6549 int fmode;
6552 rb_io_extract_modeenc(&nmode, 0, opt, &oflags, &fmode, &convconfig);
6554 ((fptr->mode & FMODE_READWRITE) & (fmode & FMODE_READWRITE)) !=
6559 rb_io_fmode_modestr(fmode));
6561 fptr->mode = fmode;
7105 prep_io(int fd, int fmode, VALUE klass, const char *path)
7114 fmode |= FMODE_BINMODE;
7118 fp->mode = fmode;
7136 prep_stdio(FILE *f, int fmode, VALUE klass, const char *path)
7139 VALUE io = prep_io(fileno(f), fmode|FMODE_PREP|DEFAULT_TEXTMODE, klass, path);
7145 if (fmode & FMODE_READABLE) {
7183 * fmode
7184 * fmode ":" ext_enc
7185 * fmode ":" ext_enc ":" int_enc
7186 * fmode ":" "BOM|UTF-*"
7188 * +fmode+ is an IO open mode string, +ext_enc+ is the external encoding for
7315 int fd, fmode, oflags = O_RDONLY;
7327 rb_io_extract_modeenc(&vmode, 0, opt, &oflags, &fmode, &convconfig);
7343 fmode = ofmode;
7345 else if ((~ofmode & fmode) & FMODE_READWRITE) {
7351 fmode |= FMODE_PREP;
7355 fp->mode = fmode;
7366 if (fmode & FMODE_SETENC_BY_BOM) io_set_encoding_by_bom(io);
7645 int fmode;
7762 fmode = FMODE_READABLE;
7764 fmode |= DEFAULT_TEXTMODE;
7766 ARGF.current_file = prep_io(fr, fmode, rb_cFile, fn);
9204 int fmode = 0;
9233 extract_binmode(opt, &fmode);
9235 if ((fptr->mode & FMODE_TEXTMODE) && (fmode & FMODE_BINMODE)) {
9245 fptr->mode |= fmode;
9247 if ((fptr2->mode & FMODE_TEXTMODE) && (fmode & FMODE_BINMODE)) {
9252 fptr2->mode |= fmode;