return in.read(b, 0, b.length);
}
IRubyObject readValue = readAdapter.call(io.getRuntime().getCurrentContext(), io, io, io.getRuntime().newFixnum(b.length));
int returnValue = -1;
if (!readValue.isNil()) {
ByteList str = readValue.convertToString().getByteList();
System.arraycopy(str.getUnsafeBytes(), str.getBegin(), b, 0, str.getRealSize());
returnValue = str.getRealSize();
}
return returnValue;
}