Overview
Comment: | Allow using [ofobject resizeMem: NULL toSize: size]. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a6b45eec2fb5dfbf470f6eb2b47eb9d8 |
User & Date: | js on 2008-11-01 21:47:51 |
Other Links: | manifest | tags |
Context
2008-11-01
| ||
22:20 | Some exception stuff & withSize -> ofSize for OFObject. check-in: 9944a6f8a4 user: js tags: trunk | |
21:47 | Allow using [ofobject resizeMem: NULL toSize: size]. check-in: a6b45eec2f user: js tags: trunk | |
21:27 | Add interface for OFBigArray. check-in: 365925e363 user: js tags: trunk | |
Changes
Modified src/OFObject.m from [504a3629c1] to [dfdab0e3f3].
︙ | ︙ | |||
90 91 92 93 94 95 96 97 98 99 100 101 102 103 | } - (void*)resizeMem: (void*)ptr toSize: (size_t)size { struct __ofobject_allocated_mem *iter; for (iter = __mem_pool; iter != NULL; iter = iter->prev) { if (iter->ptr == ptr) { if ((ptr = realloc(iter->ptr, size)) == NULL) { [[OFNoMemException newWithObject: self andSize: size] raise]; return iter->ptr; } | > > > | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | } - (void*)resizeMem: (void*)ptr toSize: (size_t)size { struct __ofobject_allocated_mem *iter; if (ptr == NULL) return [self getMemWithSize: size]; for (iter = __mem_pool; iter != NULL; iter = iter->prev) { if (iter->ptr == ptr) { if ((ptr = realloc(iter->ptr, size)) == NULL) { [[OFNoMemException newWithObject: self andSize: size] raise]; return iter->ptr; } |
︙ | ︙ |
Modified tests/OFObject/OFObject.m from [ad58ee962e] to [9337e68438].
︙ | ︙ | |||
81 82 83 84 85 86 87 | puts("Trying to allocate more memory than possible..."); CATCH_EXCEPTION(p = [obj getMemWithSize: 4294967295U], OFNoMemException) puts("Allocating 1 byte..."); p = [obj getMemWithSize: 1]; puts("Trying to resize that 1 byte to more than possible..."); | | > > > > > > | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | puts("Trying to allocate more memory than possible..."); CATCH_EXCEPTION(p = [obj getMemWithSize: 4294967295U], OFNoMemException) puts("Allocating 1 byte..."); p = [obj getMemWithSize: 1]; puts("Trying to resize that 1 byte to more than possible..."); CATCH_EXCEPTION(p = [obj resizeMem: p toSize: 4294967295U], OFNoMemException) puts("Trying to resize NULL to 1024 bytes..."); p = [obj resizeMem: NULL toSize: 1024]; [obj freeMem: p]; /* TODO: Test if freeing object frees all memory */ return 0; } |