ObjFW  Diff

Differences From Artifact [9530d9435c]:

To Artifact [56fa949e3a]:


292
293
294
295
296
297
298
299

300
301
302
303
304
305
306
307
308
309
292
293
294
295
296
297
298

299
300


301
302
303
304
305
306
307







-
+

-
-







		/* 0-7 address the bit, 8 means fetch next byte */
		_bitIndex = 8;

		_distanceBits = distanceBits;
		_dictionaryBits = dictionaryBits;

		_slidingWindowMask = (1 << dictionaryBits) - 1;
		_slidingWindow = [self allocMemoryWithSize:
		_slidingWindow = [self allocZeroedMemoryWithSize:
		    _slidingWindowMask + 1];
		/* Avoid leaking data */
		memset(_slidingWindow, 0, _slidingWindowMask + 1);
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}
356
357
358
359
360
361
362
363

364
365
366
367
368
369
370
371
354
355
356
357
358
359
360

361

362
363
364
365
366
367
368







-
+
-







		if OF_UNLIKELY (bits == 0) {
			_state = STATE_CODE_LEN_TREE_SINGLE;
			goto start;
		}

		_codesCount = bits;
		_codesReceived = 0;
		_codesLengths = [self allocMemoryWithSize: bits];
		_codesLengths = [self allocZeroedMemoryWithSize: bits];
		memset(_codesLengths, 0, bits);
		_skip = true;

		_state = STATE_CODE_LEN_TREE;
		goto start;
	case STATE_CODE_LEN_TREE:
		while (_codesReceived < _codesCount) {
			if OF_UNLIKELY (_currentIsExtendedLength) {
437
438
439
440
441
442
443
444

445
446
447
448
449
450
451
452
434
435
436
437
438
439
440

441

442
443
444
445
446
447
448







-
+
-








			_state = STATE_LITLEN_TREE_SINGLE;
			goto start;
		}

		_codesCount = bits;
		_codesReceived = 0;
		_codesLengths = [self allocMemoryWithSize: bits];
		_codesLengths = [self allocZeroedMemoryWithSize: bits];
		memset(_codesLengths, 0, bits);
		_skip = false;

		_treeIter = _codeLenTree;
		_state = STATE_LITLEN_TREE;
		goto start;
	case STATE_LITLEN_TREE:
		while (_codesReceived < _codesCount) {
527
528
529
530
531
532
533
534

535
536
537
538
539
540
541
542
523
524
525
526
527
528
529

530

531
532
533
534
535
536
537







-
+
-







		if OF_UNLIKELY (bits == 0) {
			_state = STATE_DIST_TREE_SINGLE;
			goto start;
		}

		_codesCount = bits;
		_codesReceived = 0;
		_codesLengths = [self allocMemoryWithSize: bits];
		_codesLengths = [self allocZeroedMemoryWithSize: bits];
		memset(_codesLengths, 0, bits);

		_treeIter = _codeLenTree;
		_state = STATE_DIST_TREE;
		goto start;
	case STATE_DIST_TREE:
		while (_codesReceived < _codesCount) {
			if OF_UNLIKELY (_currentIsExtendedLength) {