diff options
Diffstat (limited to 'vm/stack.go')
-rw-r--r-- | vm/stack.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/vm/stack.go b/vm/stack.go index 55fdb6d15..69ded6562 100644 --- a/vm/stack.go +++ b/vm/stack.go @@ -139,6 +139,18 @@ func (m *Memory) Get(offset, size int64) []byte { return nil } +func (self *Memory) Geti(offset, size int64) (cpy []byte) { + if len(self.store) > int(offset) { + s := int64(math.Min(float64(len(self.store)), float64(offset+size))) + cpy = make([]byte, size) + copy(cpy, self.store[offset:offset+s]) + + return + } + + return +} + func (m *Memory) Len() int { return len(m.store) } |