ObjFW  Check-in [f42b841347]

Overview
Comment:Fix -[OFNumber isEqual:] for booleans.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f42b841347de1909b94810db2f928caf5f4a9eb19a85bcb9763791b3938c4b19
User & Date: js on 2011-12-29 01:55:42
Other Links: manifest | tags
Context
2011-12-29
02:04
Add tests for JSON. check-in: f4d994aba0 user: js tags: trunk
01:55
Fix -[OFNumber isEqual:] for booleans. check-in: f42b841347 user: js tags: trunk
2011-12-28
18:41
Move a few selectors from OFObject to the OFObject protocol. check-in: 12eafc42ef user: js tags: trunk
Changes

Modified src/OFNumber.m from [388be18efd] to [8d94506001].

454
455
456
457
458
459
460
461

462
463
464
465
466
467
468
454
455
456
457
458
459
460

461
462
463
464
465
466
467
468







-
+







						    selector: _cmd];
}

- initWithBool: (BOOL)bool_
{
	self = [super init];

	value.bool_ = bool_;
	value.bool_ = (bool_ ? YES : NO);
	type = OF_NUMBER_BOOL;

	return self;
}

- initWithChar: (signed char)char_
{
912
913
914
915
916
917
918

919
920
921
922
923
924
925
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926







+








	if (![object isKindOfClass: [OFNumber class]])
		return NO;

	number = object;

	switch (type) {
	case OF_NUMBER_BOOL:
	case OF_NUMBER_CHAR:
	case OF_NUMBER_SHORT:
	case OF_NUMBER_INT:
	case OF_NUMBER_LONG:
	case OF_NUMBER_INT8:
	case OF_NUMBER_INT16:
	case OF_NUMBER_INT32:
1047
1048
1049
1050
1051
1052
1053
1054


1055
1056


1057
1058
1059
1060
1061
1062
1063
1048
1049
1050
1051
1052
1053
1054

1055
1056
1057

1058
1059
1060
1061
1062
1063
1064
1065
1066







-
+
+

-
+
+







	CALCULATE3(- 1)
}

- (OFNumber*)remainderOfDivisionWithNumber: (OFNumber*)number
{
	switch (type) {
	case OF_NUMBER_BOOL:
		return [OFNumber numberWithBool: value.bool_ % [number boolValue]];
		return [OFNumber numberWithBool:
		    value.bool_ % [number boolValue]];
	case OF_NUMBER_CHAR:
		return [OFNumber numberWithChar: value.char_ % [number charValue]];
		return [OFNumber numberWithChar:
		    value.char_ % [number charValue]];
	case OF_NUMBER_SHORT:
		return [OFNumber numberWithShort:
		    value.short_ % [number shortValue]];
	case OF_NUMBER_INT:
		return [OFNumber numberWithInt: value.int_ % [number intValue]];
	case OF_NUMBER_LONG:
		return [OFNumber numberWithLong: