private static MutableString PrepareReadBuffer(RubyIO/*!*/ io, MutableString buffer) { if (buffer == null) { buffer = MutableString.CreateBinary(); } else { buffer.Clear(); } #if TODO var internalEncoding = io.InternalEncoding ?? io.ExternalEncoding; if (buffer != null) { buffer.Clear(); buffer.ForceEncoding(internalEncoding); } else if (io.ExternalEncoding == RubyEncoding.Binary && internalEncoding == RubyEncoding.Binary) { buffer = MutableString.CreateBinary(); } else { buffer = MutableString.CreateMutable(internalEncoding); } #endif return buffer; }
public static MutableString/*!*/ ForceEncoding(MutableString/*!*/ self, [NotNull]RubyEncoding/*!*/ encoding) { self.ForceEncoding(encoding); return self; }