Overview
Comment: | Improve error handling in OFDictionary and OFMutableDictionary. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
0fcd9ed4d3925786922f4fdae963a8ec |
User & Date: | js on 2009-12-05 16:52:11 |
Other Links: | manifest | tags |
Context
2009-12-05
| ||
16:54 | Improve readability of -[initWithDictionary:]. check-in: e1b790cdfe user: js tags: trunk | |
16:52 | Improve error handling in OFDictionary and OFMutableDictionary. check-in: 0fcd9ed4d3 user: js tags: trunk | |
16:43 | Improve -[initWithObject:forKey:]. check-in: 776cc1c033 user: js tags: trunk | |
Changes
Modified src/OFDictionary.m from [f6cebc6bb3] to [0f7a7ffebd].
︙ | ︙ | |||
115 116 117 118 119 120 121 | } size = dict->size; count = dict->count; for (i = 0; i < size; i++) { if (dict->data[i].key != nil) { | > > > | > > > > > > | > > > > > > > > | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | } size = dict->size; count = dict->count; for (i = 0; i < size; i++) { if (dict->data[i].key != nil) { OFObject <OFCopying> *key; @try { key = [dict->data[i].key copy]; } @catch (OFException *e) { [self dealloc]; @throw e; } @try { [dict->data[i].object retain]; } @catch (OFException *e) { [key release]; [self dealloc]; @throw e; } data[i].key = key; data[i].object = dict->data[i].object; data[i].hash = dict->data[i].hash; } else data[i].key = nil; } return self; } |
︙ | ︙ |
Modified src/OFMutableDictionary.m from [e74e634938] to [04854978e7].
︙ | ︙ | |||
95 96 97 98 99 100 101 | /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil; i++); if (i >= size) @throw [OFOutOfRangeException newWithClass: isa]; | > > > > > > > > | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | /* In case the last bucket is already used */ if (i >= size) for (i = 0; i < size && data[i].key != nil; i++); if (i >= size) @throw [OFOutOfRangeException newWithClass: isa]; key = [key copy]; @try { [obj retain]; } @catch (OFException *e) { [key release]; @throw e; } data[i].key = key; data[i].object = obj; data[i].hash = hash; count++; return self; } [obj retain]; |
︙ | ︙ |