private static RubyString filePathConvert(ThreadContext context, RubyString path) { if (!Platform.IS_WINDOWS) { Ruby runtime = context.getRuntime(); EncodingService encodingService = runtime.getEncodingService(); Encoding pathEncoding = path.getEncoding(); // If we are not ascii and do not match fs encoding then transcode to fs. if (runtime.getDefaultInternalEncoding() != null && pathEncoding != encodingService.getUSAsciiEncoding() && pathEncoding != encodingService.getAscii8bitEncoding() && pathEncoding != encodingService.getFileSystemEncoding() && !path.isAsciiOnly()) { path = EncodingUtils.strConvEnc(context, path, pathEncoding, encodingService.getFileSystemEncoding()); } } return path; }
private static RubyString filePathConvert(ThreadContext context, RubyString path) { if (!Platform.IS_WINDOWS) { Ruby runtime = context.getRuntime(); EncodingService encodingService = runtime.getEncodingService(); Encoding pathEncoding = path.getEncoding(); // If we are not ascii and do not match fs encoding then transcode to fs. if (runtime.getDefaultInternalEncoding() != null && pathEncoding != encodingService.getUSAsciiEncoding() && pathEncoding != encodingService.getAscii8bitEncoding() && pathEncoding != encodingService.getFileSystemEncoding() && !path.isAsciiOnly()) { path = EncodingUtils.strConvEnc(context, path, pathEncoding, encodingService.getFileSystemEncoding()); } } return path; }
private static RubyString filePathConvert(ThreadContext context, RubyString path) { if (!org.jruby.platform.Platform.IS_WINDOWS) { Ruby runtime = context.getRuntime(); EncodingService encodingService = runtime.getEncodingService(); Encoding pathEncoding = path.getEncoding(); // If we are not ascii and do not match fs encoding then transcode to fs. if (runtime.getDefaultInternalEncoding() != null && pathEncoding != encodingService.getUSAsciiEncoding() && pathEncoding != encodingService.getAscii8bitEncoding() && pathEncoding != encodingService.getFileSystemEncoding(runtime) && !path.isAsciiOnly()) { ByteList bytes = Transcoder.strConvEnc(context, path.getByteList(), pathEncoding, encodingService.getFileSystemEncoding(runtime)); path = RubyString.newString(runtime, bytes); } } return path; }
private static RubyString filePathConvert(ThreadContext context, RubyString path) { if (!org.jruby.platform.Platform.IS_WINDOWS) { Ruby runtime = context.getRuntime(); EncodingService encodingService = runtime.getEncodingService(); Encoding pathEncoding = path.getEncoding(); // If we are not ascii and do not match fs encoding then transcode to fs. if (runtime.getDefaultInternalEncoding() != null && pathEncoding != encodingService.getUSAsciiEncoding() && pathEncoding != encodingService.getAscii8bitEncoding() && pathEncoding != encodingService.getFileSystemEncoding(runtime) && !path.isAsciiOnly()) { ByteList bytes = Transcoder.strConvEnc(context, path.getByteList(), pathEncoding, encodingService.getFileSystemEncoding(runtime)); path = RubyString.newString(runtime, bytes); } } return path; }