diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2016-03-25 08:58:56 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2016-03-25 10:53:30 -0600 |
commit | 2b4a0e28943f2dc71b7697cb86764b05e9919637 (patch) | |
tree | da55ceb25e0642f44187e1ce5350054b570431be /page.go | |
parent | Merge pull request #542 from boltdb/remove-drone-badge (diff) | |
download | dedo-2b4a0e28943f2dc71b7697cb86764b05e9919637.tar.gz dedo-2b4a0e28943f2dc71b7697cb86764b05e9919637.tar.xz |
set slice capacity
This commit sets the capacity on slices returned from
`Bucket.Get()` to match the slice length. Previously
the capacity would be the size of the mmap max size.
This does not cause any backwards compatibility issues,
however, it does allow users to `append()` to the returned
slice since that will cause Go to realloc a new slice on the
heap.
Fixes #544
Diffstat (limited to 'page.go')
-rw-r--r-- | page.go | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -111,13 +111,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 (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize] + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize:n.ksize] } // value returns a byte slice of the node value. func (n *leafPageElement) value() []byte { buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) - return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize] + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize:n.vsize] } // PageInfo represents human readable information about a page. |