File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -116,10 +116,11 @@ pub fn (a array) repeat(count int) array {
116116 len: count * a.len
117117 cap: count * a.len
118118 }
119+ size_of_array := int (sizeof (array))
119120 for i in 0 .. count {
120- if a.len > 0 && a.element_size == sizeof (array) {
121+ if a.len > 0 && a.element_size == size_of_array {
121122 ary := array{}
122- unsafe {C.memcpy (& ary, a.data, sizeof (array) )}
123+ unsafe {C.memcpy (& ary, a.data, size_of_array )}
123124 ary_clone := ary.clone ()
124125 unsafe {C.memcpy (arr.get_unsafe (i * a.len), & ary_clone, a.len * a.element_size)}
125126 } else {
@@ -328,10 +329,11 @@ pub fn (a &array) clone() array {
328329 cap: a.cap
329330 }
330331 // Recursively clone-generated elements if array element is array type
331- if a.element_size == sizeof (array) {
332+ size_of_array := int (sizeof (array))
333+ if a.element_size == size_of_array {
332334 for i in 0 .. a.len {
333335 ar := array{}
334- unsafe {C.memcpy (& ar, a.get_unsafe (i), sizeof (array) )}
336+ unsafe {C.memcpy (& ar, a.get_unsafe (i), size_of_array )}
335337 ar_clone := ar.clone ()
336338 unsafe {arr.set_unsafe (i, & ar_clone)}
337339 }
You can’t perform that action at this time.
0 commit comments