ObjFW  Diff

Differences From Artifact [bdc38c2ac6]:

To Artifact [bcee3b5d39]:


157
158
159
160
161
162
163
164
165


166
167
168
169
170
171
172
173
174
157
158
159
160
161
162
163


164
165


166
167
168
169
170
171
172







-
-
+
+
-
-







		if (capacity * 8 / _capacity >= 6)
			if (_capacity <= UINT32_MAX / 2)
				_capacity *= 2;

		if (_capacity < MIN_CAPACITY)
			_capacity = MIN_CAPACITY;

		_buckets = [self allocMemoryWithSize: sizeof(*_buckets)
					       count: _capacity];
		_buckets = [self allocZeroedMemoryWithSize: sizeof(*_buckets)
						     count: _capacity];

		memset(_buckets, 0, _capacity * sizeof(*_buckets));

		if (of_hash_seed != 0)
#if defined(HAVE_ARC4RANDOM)
			_rotate = arc4random() & 31;
#elif defined(HAVE_RANDOM)
			_rotate = random() & 31;
#else
324
325
326
327
328
329
330
331
332


333
334
335
336
337
338
339
340
341
322
323
324
325
326
327
328


329
330


331
332
333
334
335
336
337







-
-
+
+
-
-







	/*
	 * Don't downsize if we have an initial capacity or if we would fall
	 * below the minimum capacity.
	 */
	if ((capacity < _capacity && count > _count) || capacity < MIN_CAPACITY)
		return;

	buckets = [self allocMemoryWithSize: sizeof(*buckets)
				      count: capacity];
	buckets = [self allocZeroedMemoryWithSize: sizeof(*buckets)
					    count: capacity];

	memset(buckets, 0, capacity * sizeof(*buckets));

	for (uint32_t i = 0; i < _capacity; i++) {
		if (_buckets[i] != NULL && _buckets[i] != &deleted) {
			uint32_t j, last;

			last = capacity;