diff options
| author | Andrew Gallant (Ocelot) <[email protected]> | 2012-05-03 01:00:01 -0400 |
|---|---|---|
| committer | Andrew Gallant (Ocelot) <[email protected]> | 2012-05-03 01:00:01 -0400 |
| commit | 9028aaf89872d8d90c65254c17658bfaf8a4918d (patch) | |
| tree | ba8cc21965e466d9fcc1e1c7d38d7f6bbf462fbb /xgbgen/representation.go | |
| parent | 552804d994db62e1002f13a8cfbbbc2359d99eef (diff) | |
holy toldeo... things might actually be working
Diffstat (limited to 'xgbgen/representation.go')
| -rw-r--r-- | xgbgen/representation.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/xgbgen/representation.go b/xgbgen/representation.go index e5d2202..ef62157 100644 --- a/xgbgen/representation.go +++ b/xgbgen/representation.go @@ -65,6 +65,10 @@ func (r *Request) ReplyName() string { return fmt.Sprintf("%sReply", r.SrcName()) } +func (r *Request) ReqName() string { + return fmt.Sprintf("%sRequest", r.SrcName()) +} + // Size for Request needs a context. // Namely, if this is an extension, we need to account for *four* bytes // of a header (extension opcode, request opcode, and the sequence number). @@ -80,7 +84,20 @@ func (r *Request) Size(c *Context) Size { } for _, field := range r.Fields { - size = size.Add(field.Size()) + switch field.(type) { + case *LocalField: + continue + case *SingleField: + // mofos!!! + if r.SrcName() == "ConfigureWindow" && + field.SrcName() == "ValueMask" { + + continue + } + size = size.Add(field.Size()) + default: + size = size.Add(field.Size()) + } } return size } |
