summaryrefslogtreecommitdiff
path: root/xgbgen/representation.go
diff options
context:
space:
mode:
authorAndrew Gallant (Ocelot) <[email protected]>2012-05-03 01:00:01 -0400
committerAndrew Gallant (Ocelot) <[email protected]>2012-05-03 01:00:01 -0400
commit9028aaf89872d8d90c65254c17658bfaf8a4918d (patch)
treeba8cc21965e466d9fcc1e1c7d38d7f6bbf462fbb /xgbgen/representation.go
parent552804d994db62e1002f13a8cfbbbc2359d99eef (diff)
holy toldeo... things might actually be working
Diffstat (limited to 'xgbgen/representation.go')
-rw-r--r--xgbgen/representation.go19
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
}