ObjFW  Diff

Differences From Artifact [7a0dc4013e]:

To Artifact [e4abefbffe]:


471
472
473
474
475
476
477
478

479
480
481
482
483
484
485
486
471
472
473
474
475
476
477

478

479
480
481
482
483
484
485







-
+
-







		@throw [OFInvalidServerReplyException exception];

	_status = (short)status;

	return true;
}

- (bool)handleServerHeader: (OFString *)line
- (bool)handleServerHeader: (OFString *)line socket: (OFTCPSocket *)sock
		    socket: (OFTCPSocket *)sock
{
	OFString *key, *value, *old;
	const char *lineC, *tmp;
	char *keyC;

	if (line == nil)
		@throw [OFInvalidServerReplyException exception];
505
506
507
508
509
510
511
512

513
514
515
516
517
518
519
520
521

522
523
524
525
526
527
528
504
505
506
507
508
509
510

511
512
513
514
515
516
517
518
519

520
521
522
523
524
525
526
527







-
+








-
+







	}

	lineC = line.UTF8String;

	if ((tmp = strchr(lineC, ':')) == NULL)
		@throw [OFInvalidServerReplyException exception];

	keyC = of_alloc(tmp - lineC + 1, 1);
	keyC = OFAllocMemory(tmp - lineC + 1, 1);
	memcpy(keyC, lineC, tmp - lineC);
	keyC[tmp - lineC] = '\0';
	normalizeKey(keyC);

	@try {
		key = [OFString stringWithUTF8StringNoCopy: keyC
					      freeWhenDone: true];
	} @catch (id e) {
		free(keyC);
		OFFreeMemory(keyC);
		@throw e;
	}

	do {
		tmp++;
	} while (*tmp == ' ');