fiddle icon indicating copy to clipboard operation
fiddle copied to clipboard

The clone method of Fiddle::CStruct object is shallow copy

Open kojix2 opened this issue 5 years ago • 0 comments

Fiddle

require 'fiddle/import'

S = Fiddle::Importer.struct(["int i"])

a = S.malloc

a.i = 10

b = a.clone

b.i = 20

p a.i # 20
p b.i # 20

Ruby-FFI

require 'ffi'

class S < FFI::Struct
  layout :i, :int
end

a = S.new

a[:i] = 10

b = a.clone

b[:i] = 20

p a[:i] # 10
p b[:i] # 20

kojix2 avatar Jan 29 '21 06:01 kojix2