@@ -47,12 +47,11 @@ @throw [OFOutOfRangeException exception]; newSize = OF_ROUND_UP_POW2(8, c + 1) / 8; - _bitset = [self resizeMemory: _bitset - size: newSize]; + _bitset = of_realloc(_bitset, newSize, 1); memset(_bitset + _size, '\0', newSize - _size); _size = newSize; } @@ -65,14 +64,21 @@ @throw e; } return self; } + +- (void)dealloc +{ + free(_bitset); + + [super dealloc]; +} - (bool)characterIsMember: (of_unichar_t)character { if (character / 8 >= _size) return false; return of_bitset_isset(_bitset, character); } @end