It appears that the "Str" type (which is built into the core X protocol)

doesn't specify any padding. So it has to be treated as a special case.

Close #12.
This commit is contained in:
Andrew Gallant
2013-12-28 10:02:18 -05:00
committed by Přemysl Janouch
parent ad9c35a02f
commit 33509dbeb0
10 changed files with 52 additions and 49 deletions

View File

@@ -562,7 +562,7 @@ func connectReply(buf []byte) *ConnectReply {
byteString := make([]byte, v.DriverNameLength)
copy(byteString[:v.DriverNameLength], buf[b:])
v.DriverName = string(byteString)
b += xgb.Pad(int(v.DriverNameLength))
b += int(v.DriverNameLength)
}
v.AlignmentPad = make([]byte, (((int(v.DriverNameLength) + 3) & -4) - int(v.DriverNameLength)))
@@ -573,7 +573,7 @@ func connectReply(buf []byte) *ConnectReply {
byteString := make([]byte, v.DeviceNameLength)
copy(byteString[:v.DeviceNameLength], buf[b:])
v.DeviceName = string(byteString)
b += xgb.Pad(int(v.DeviceNameLength))
b += int(v.DeviceNameLength)
}
return v