if (vmode(vmodeAndVperm_p) == null || vmode(vmodeAndVperm_p).isNil()) { fmode_p[0] = OpenFile.READABLE; oflags_p[0] = ModeFlags.RDONLY; } else { intmode = TypeConverter.checkIntegerType(context, vmode(vmodeAndVperm_p)); vmode(vmodeAndVperm_p, intmode); oflags_p[0] = RubyNumeric.num2int(intmode); fmode_p[0] = ModeFlags.getOpenFileFlagsFor(oflags_p[0]); } else { String p = vmode(vmodeAndVperm_p).convertToString().asJavaString(); fmode_p[0] = OpenFile.ioModestrFmode(runtime, p); oflags_p[0] = OpenFile.ioFmodeOflags(fmode_p[0]); IRubyObject v = ((RubyHash) options).op_aref(context, runtime.newSymbol("mode")); if (!v.isNil()) { if (vmode(vmodeAndVperm_p) != null && !vmode(vmodeAndVperm_p).isNil()) { throw runtime.newArgumentError("mode specified twice"); vmode(vmodeAndVperm_p, v); continue vmode_handle; v = v.convertToInteger(); oflags_p[0] |= RubyNumeric.num2int(v); vmode(vmodeAndVperm_p, runtime.newFixnum(oflags_p[0])); fmode_p[0] = ModeFlags.getOpenFileFlagsFor(oflags_p[0]); } else if (DEFAULT_TEXTMODE != 0 && (vmode(vmodeAndVperm_p) == null || vmode(vmodeAndVperm_p).isNil())) { fmode_p[0] |= DEFAULT_TEXTMODE;
if (vmode(vmodeAndVperm_p) == null || vmode(vmodeAndVperm_p).isNil()) { fmode_p[0] = OpenFile.READABLE; oflags_p[0] = ModeFlags.RDONLY; } else { intmode = TypeConverter.checkIntegerType(context, vmode(vmodeAndVperm_p)); vmode(vmodeAndVperm_p, intmode); oflags_p[0] = RubyNumeric.num2int(intmode); fmode_p[0] = ModeFlags.getOpenFileFlagsFor(oflags_p[0]); } else { String p = vmode(vmodeAndVperm_p).convertToString().asJavaString(); fmode_p[0] = OpenFile.ioModestrFmode(runtime, p); oflags_p[0] = OpenFile.ioFmodeOflags(fmode_p[0]); IRubyObject v = ((RubyHash) options).op_aref(context, runtime.newSymbol("mode")); if (!v.isNil()) { if (vmode(vmodeAndVperm_p) != null && !vmode(vmodeAndVperm_p).isNil()) { throw runtime.newArgumentError("mode specified twice"); vmode(vmodeAndVperm_p, v); continue vmode_handle; v = v.convertToInteger(); oflags_p[0] |= RubyNumeric.num2int(v); vmode(vmodeAndVperm_p, runtime.newFixnum(oflags_p[0])); fmode_p[0] = ModeFlags.getOpenFileFlagsFor(oflags_p[0]); } else if (DEFAULT_TEXTMODE != 0 && (vmode(vmodeAndVperm_p) == null || vmode(vmodeAndVperm_p).isNil())) { fmode_p[0] |= DEFAULT_TEXTMODE;
EncodingUtils.vmode(pmode, argv[1]); case 1: pname = argv[0];
EncodingUtils.vmode(pmode, argv[1]); case 1: pname = argv[0];