mirror of
https://github.com/golang/go
synced 2024-11-21 20:44:39 -07:00
xgb: fix request length and request size.
R=nigeltao_golang, rsc CC=golang-dev https://golang.org/cl/759041
This commit is contained in:
parent
5bb29fb116
commit
dab40b5880
@ -8,6 +8,7 @@ from os.path import basename, exists
|
||||
import getopt
|
||||
import sys
|
||||
import re
|
||||
import math
|
||||
|
||||
_ns = None
|
||||
|
||||
@ -345,20 +346,22 @@ def go_complex_writer(self, name, void):
|
||||
go('func (c *Conn) %sRequest(', func_name)
|
||||
go_complex_writer_arguments(param_fields, "Cookie {")
|
||||
|
||||
fixedtotal = structsize(self.fields)
|
||||
if fixedtotal <= 32:
|
||||
go(' b := c.scratch[0:%d]', fixedtotal)
|
||||
fixedlength = math.ceil(float(structsize(self.fields)) / float(4))
|
||||
fixedsize = fixedlength * 4
|
||||
|
||||
if fixedsize <= 32:
|
||||
go(' b := c.scratch[0:%d]', fixedsize)
|
||||
else:
|
||||
go(' b := make([]byte, %d)', fixedtotal)
|
||||
go(' b := make([]byte, %d)', fixedsize)
|
||||
firstvar = 0
|
||||
for field in wire_fields:
|
||||
if not field.type.fixed_size():
|
||||
if not firstvar:
|
||||
firstvar = 1
|
||||
go(' n := %d', fixedtotal)
|
||||
go(' n := %d', fixedsize)
|
||||
go(' n += pad(%s * %d)', go_accessor_expr(field.type.expr, '', True), field.type.size)
|
||||
if not firstvar:
|
||||
go(' put16(b[2:], %d)', fixedtotal / 4)
|
||||
go(' put16(b[2:], %d)', fixedlength)
|
||||
else:
|
||||
go(' put16(b[2:], uint16(n / 4))')
|
||||
go(' b[0] = %s', self.opcode)
|
||||
@ -662,7 +665,7 @@ output = {'open' : go_open,
|
||||
'enum' : go_enum,
|
||||
'struct' : go_struct,
|
||||
'union' : go_union,
|
||||
'request' : go_request,
|
||||
'request' : go_request,
|
||||
'event' : go_event,
|
||||
'error' : go_error
|
||||
}
|
||||
|
@ -2427,8 +2427,8 @@ func (c *Conn) ListFontsWithInfoReply(cookie Cookie) (*ListFontsWithInfoReply, o
|
||||
}
|
||||
|
||||
func (c *Conn) SetFontPath(FontQty uint16, Path []byte) {
|
||||
b := c.scratch[0:6]
|
||||
n := 6
|
||||
b := c.scratch[0:8]
|
||||
n := 8
|
||||
n += pad(len(Path) * 1)
|
||||
put16(b[2:], uint16(n/4))
|
||||
b[0] = 51
|
||||
@ -3553,8 +3553,8 @@ func (c *Conn) ListExtensionsReply(cookie Cookie) (*ListExtensionsReply, os.Erro
|
||||
}
|
||||
|
||||
func (c *Conn) ChangeKeyboardMapping(KeycodeCount byte, FirstKeycode byte, KeysymsPerKeycode byte, Keysyms []Keysym) {
|
||||
b := c.scratch[0:6]
|
||||
n := 6
|
||||
b := c.scratch[0:8]
|
||||
n := 8
|
||||
n += pad((int(KeycodeCount) * int(KeysymsPerKeycode)) * 4)
|
||||
put16(b[2:], uint16(n/4))
|
||||
b[0] = 100
|
||||
@ -3566,8 +3566,8 @@ func (c *Conn) ChangeKeyboardMapping(KeycodeCount byte, FirstKeycode byte, Keysy
|
||||
}
|
||||
|
||||
func (c *Conn) GetKeyboardMappingRequest(FirstKeycode byte, Count byte) Cookie {
|
||||
b := c.scratch[0:6]
|
||||
put16(b[2:], 1)
|
||||
b := c.scratch[0:8]
|
||||
put16(b[2:], 2)
|
||||
b[0] = 101
|
||||
b[4] = FirstKeycode
|
||||
b[5] = Count
|
||||
@ -3733,8 +3733,8 @@ const (
|
||||
)
|
||||
|
||||
func (c *Conn) SetScreenSaver(Timeout int16, Interval int16, PreferBlanking byte, AllowExposures byte) {
|
||||
b := c.scratch[0:10]
|
||||
put16(b[2:], 2)
|
||||
b := c.scratch[0:12]
|
||||
put16(b[2:], 3)
|
||||
b[0] = 107
|
||||
put16(b[4:], uint16(Timeout))
|
||||
put16(b[6:], uint16(Interval))
|
||||
|
Loading…
Reference in New Issue
Block a user