private MonitorExtendedErrorInfo skipAndReadExtended( boolean hasExtended, int skipBytes, SignalInputStream in) throws IOException { if (hasExtended) { in.skipBytes(skipBytes); MonitorExtendedErrorInfo extended = new MonitorExtendedErrorInfo(); extended.read(in); return extended; } return null; }
protected void write(SignalOutputStream out) throws IOException { super.write(out); out.writeS32(from); out.writeBoolean(exec); out.writeS32(error); out.writeS32(extra); out.writeS32(lineNumber); out.writeS32(0); // U32 fileNameOffset out.writeS16(euId); out.writeS16((short) 0); // Unused U16 reserved0 reserved1 = 0; if (monitorExtendedErrorInfo != null) { reserved1 = fileName.length() + 1; } out.writeS32(reserved1); // reserved1 out.writeString((fileName != null) ? fileName : ""); if (reserved1 > 0) { monitorExtendedErrorInfo.write(out); } }