Overview
Comment: | Add getMemForNItems:withSize: & resizeMem:toNItems:withSize: in OFObject
Additionally, interface for OFArray. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
49859c2bcce1d3706d1ec986571dba48 |
User & Date: | js on 2008-10-29 17:29:49 |
Other Links: | manifest | tags |
Context
2008-10-30
| ||
00:49 | Store initialization parameters of exceptions. check-in: ea3b6ef066 user: js tags: trunk | |
2008-10-29
| ||
17:29 | Add getMemForNItems:withSize: & resizeMem:toNItems:withSize: in OFObject check-in: 49859c2bcc user: js tags: trunk | |
16:37 | Add OF_NOT_IMPLEMENTED macro. check-in: d6a3d8a5db user: js tags: trunk | |
Changes
Modified src/Makefile from [4d6994e0b2] to [b348bda782].
1 2 3 4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 | + - + | LIB = ${LIB_PREFIX}objfw${LIB_SUFFIX} LIB_MAJOR = 1 LIB_MINOR = 0 SRCS = OFArray.m \ |
︙ |
Added src/OFArray.h version [e463fcbc2b].
|
Added src/OFArray.m version [4b7e261931].
|
Modified src/OFFile.m from [d80678a165] to [b1dd678aec].
︙ | |||
102 103 104 105 106 107 108 | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | - - - - - - - - - + + | return ret; } - (uint8_t*)readWithSize: (size_t)size andNItems: (size_t)nitems { |
︙ |
Modified src/OFObject.h from [1168f25909] to [05ff92829e].
︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | + + + + + | @interface OFObject: Object { struct __ofobject_allocated_mem *__mem_pool; } - init; - (void*)getMemWithSize: (size_t)size; - (void*)getMemForNItems: (size_t)nitems withSize: (size_t)size; - (void*)resizeMem: (void*)ptr toSize: (size_t)size; - (void*)resizeMem: (void*)ptr toNItems: (size_t)nitems ofSize: (size_t)size; - freeMem: (void*)ptr; - free; @end |
Modified src/OFObject.m from [fdc15c6565] to [504a3629c1].
︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + | if (__mem_pool != NULL) __mem_pool->next = iter; __mem_pool = iter; return iter->ptr; } - (void*)getMemForNItems: (size_t)nitems withSize: (size_t)size { size_t memsize; if (size > SIZE_MAX / nitems) { [[OFOverflowException newWithObject: self] raise]; return NULL; } memsize = nitems * size; return [self getMemWithSize: memsize]; } - (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]; |
︙ |