comparison modules/array.tp @ 249:fd9005253861

Added resize method to arrays
author Michael Pavone <pavone@retrodev.com>
date Wed, 09 Apr 2014 22:54:52 -0700
parents abde5d2918cf
children 56409de95f55
comparison
equal deleted inserted replaced
248:96fdc5b37ceb 249:fd9005253861
50 } 50 }
51 data <- tmp 51 data <- tmp
52 } 52 }
53 data set: size value 53 data set: size value
54 size <- size + 1 54 size <- size + 1
55 self
56 }
57
58 llMessage: resize withVars: {
59 newsize <- obj_uint32 ptr
60 tmp <- (object ptr) ptr
61 } andCode: :newsize {
62 self storage!: (newsize num)
63 tmp <- GC_REALLOC: data storage * (sizeof: (object ptr))
64 if: (not: tmp) {
65 fputs: "Failed to adjust array size\n" stderr
66 exit: 1
67 }
68 data <- tmp
69 if: size > storage {
70 size <- storage
71 }
55 self 72 self
56 } 73 }
57 74
58 llMessage: length withVars: { 75 llMessage: length withVars: {
59 intret <- obj_int32 ptr 76 intret <- obj_int32 ptr