public IRubyObject fileOpenGeneric(ThreadContext context, IRubyObject filename, int oflags, int fmode, IOEncodable convConfig, int perm) { // unused in JRuby at the moment since we don't have a path where this happens // if (convConfig == null) { // EncodingUtils.ioExtIntToEncs(context, convConfig, null, null, fmode); // convConfig.setEcflags(0); // convConfig.setEcopts(context.nil); // } // test for null instead convConfig.getClass(); int[] fmode_p = {fmode}; EncodingUtils.validateEncodingBinmode(context, fmode_p, convConfig.getEcflags(), convConfig); MakeOpenFile(); openFile.setMode(fmode_p[0]); openFile.setPath(RubyFile.get_path(context, filename).asJavaString()); sysopenInternal19(openFile.getPath(), oflags, perm); if ((fmode & OpenFile.SETENC_BY_BOM) != 0) { EncodingUtils.ioSetEncodingByBOM(context, this); } return this; }
public IRubyObject fileOpenGeneric(ThreadContext context, IRubyObject filename, int oflags, int fmode, IOEncodable convConfig, int perm) { // unused in JRuby at the moment since we don't have a path where this happens // if (convConfig == null) { // EncodingUtils.ioExtIntToEncs(context, convConfig, null, null, fmode); // convConfig.setEcflags(0); // convConfig.setEcopts(context.nil); // } // test for null instead convConfig.getClass(); int[] fmode_p = {fmode}; EncodingUtils.validateEncodingBinmode(context, fmode_p, convConfig.getEcflags(), convConfig); MakeOpenFile(); openFile.setMode(fmode_p[0]); openFile.setPath(RubyFile.get_path(context, filename).asJavaString()); sysopenInternal19(openFile.getPath(), oflags, perm); if ((fmode & OpenFile.SETENC_BY_BOM) != 0) { EncodingUtils.ioSetEncodingByBOM(context, this); } return this; }
public IRubyObject fileOpenGeneric(ThreadContext context, IRubyObject filename, int oflags, int fmode, IOEncodable convConfig, int perm) { if (convConfig == null) { convConfig = new ConvConfig(); EncodingUtils.ioExtIntToEncs(context, convConfig, null, null, fmode); convConfig.setEcflags(0); convConfig.setEcopts(context.nil); } int[] fmode_p = {fmode}; EncodingUtils.validateEncodingBinmode(context, fmode_p, convConfig.getEcflags(), convConfig); OpenFile fptr = MakeOpenFile(); fptr.setMode(fmode_p[0]); fptr.encs.copy(convConfig); fptr.setPath(adjustRootPathOnWindows(context.runtime, RubyFile.get_path(context, filename).asJavaString(), getRuntime().getCurrentDirectory())); fptr.setFD(sysopen(context.runtime, fptr.getPath(), oflags, perm)); fptr.checkTTY(); if ((fmode_p[0] & OpenFile.SETENC_BY_BOM) != 0) { EncodingUtils.ioSetEncodingByBOM(context, this); } return this; }
public IRubyObject fileOpenGeneric(ThreadContext context, IRubyObject filename, int oflags, int fmode, IOEncodable convConfig, int perm) { if (convConfig == null) { convConfig = new ConvConfig(); EncodingUtils.ioExtIntToEncs(context, convConfig, null, null, fmode); convConfig.setEcflags(0); convConfig.setEcopts(context.nil); } int[] fmode_p = {fmode}; EncodingUtils.validateEncodingBinmode(context, fmode_p, convConfig.getEcflags(), convConfig); OpenFile fptr = MakeOpenFile(); fptr.setMode(fmode_p[0]); fptr.encs.copy(convConfig); fptr.setPath(adjustRootPathOnWindows(context.runtime, RubyFile.get_path(context, filename).asJavaString(), getRuntime().getCurrentDirectory())); fptr.setFD(sysopen(context.runtime, fptr.getPath(), oflags, perm)); fptr.checkTTY(); if ((fmode_p[0] & OpenFile.SETENC_BY_BOM) != 0) { EncodingUtils.ioSetEncodingByBOM(context, this); } return this; }
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, ioEncodable);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, ioEncodable);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, holder); openFile.setMode(fmode_p[0]);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, holder); openFile.setMode(fmode_p[0]);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, holder); openFile.setMode(fmode_p[0]);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, holder); openFile.setMode(fmode_p[0]);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, ioEncodable);
EncodingUtils.validateEncodingBinmode(context, fmode_p, ecflags, ioEncodable);