Permalink
Browse files

client: initialize and write instance name offsets

  • Loading branch information...
1 parent 2bdf215 commit 71cc2273ce3e30abad377f0496d7b3323c7c1fb5 @suyash suyash committed Aug 6, 2016
Showing with 16 additions and 1 deletion.
  1. +16 −1 client.go
View
@@ -165,6 +165,11 @@ func (c *PCPClient) initializeInstanceAndInstanceDomainOffsets(instanceoffset, i
for _, i := range indom.instances {
i.offset = instanceoffset
instanceoffset += InstanceLength
+
+ if c.r.version2 {
+ i.name.offset = *stringsoffset
+ *stringsoffset += StringLength
+ }
}
if indom.shortDescription.val != "" {
@@ -367,7 +372,17 @@ func (c *PCPClient) writeInstanceAndInstanceDomainBlock() {
c.buffer.MustWriteInt64(int64(indom.offset))
c.buffer.MustWriteInt32(0)
c.buffer.MustWriteUint32(i.id)
- c.buffer.MustWriteString(i.name)
+
+ if c.r.version2 {
+ c.buffer.MustWriteUint64(uint64(i.name.offset))
+
+ pos := c.buffer.Pos()
+ c.buffer.MustSetPos(i.name.offset)
+ c.buffer.MustWriteString(i.name.val)
+ c.buffer.MustSetPos(pos)
+ } else {
+ c.buffer.MustWriteString(i.name.val)
+ }
}
}
}

0 comments on commit 71cc227

Please sign in to comment.