aboutsummaryrefslogtreecommitdiff
path: root/page.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2015-05-18 10:15:49 -0600
committerBen Johnson <benbjohnson@yahoo.com>2015-05-18 10:15:49 -0600
commit2c5801beddf0f53eeb75b3e10cb5f749b92e4b54 (patch)
tree5874b1f0aec574c370d948e26e04699c90d760eb /page.go
parentMerge pull request #366 from benbjohnson/sync (diff)
parentAdd inline documentation for bdc109b. (diff)
downloaddedo-2c5801beddf0f53eeb75b3e10cb5f749b92e4b54.tar.gz
dedo-2c5801beddf0f53eeb75b3e10cb5f749b92e4b54.tar.xz
Merge branch 'fix-crash'
Diffstat (limited to 'page.go')
-rw-r--r--page.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/page.go b/page.go
index 58e43c4..bc0d333 100644
--- a/page.go
+++ b/page.go
@@ -96,7 +96,7 @@ type branchPageElement struct {
// key returns a byte slice of the node key.
func (n *branchPageElement) key() []byte {
buf := (*[maxAllocSize]byte)(unsafe.Pointer(n))
- return buf[n.pos : n.pos+n.ksize]
+ return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize]
}
// leafPageElement represents a node on a leaf page.
@@ -110,13 +110,13 @@ type leafPageElement struct {
// key returns a byte slice of the node key.
func (n *leafPageElement) key() []byte {
buf := (*[maxAllocSize]byte)(unsafe.Pointer(n))
- return buf[n.pos : n.pos+n.ksize]
+ return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize]
}
// value returns a byte slice of the node value.
func (n *leafPageElement) value() []byte {
buf := (*[maxAllocSize]byte)(unsafe.Pointer(n))
- return buf[n.pos+n.ksize : n.pos+n.ksize+n.vsize]
+ return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize]
}
// PageInfo represents human readable information about a page.