Overview
Context
Changes
Modified src/OFArray.h
from [4a0b0e23ef]
to [2851f0d1d5].
︙ | | |
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
-
+
|
inRange: (of_range_t)range;
/*!
* @brief Returns the objects of the array as a C array.
*
* @return The objects of the array as a C array
*/
- (id*)objects;
- (id const*)objects;
/*!
* @brief Returns the index of the first object that is equivalent to the
* specified object or `OF_NOT_FOUND` if it was not found.
*
* @param object The object whose index is returned
* @return The index of the first object equivalent to the specified object
|
︙ | | |
Modified src/OFArray.m
from [ff677666a5]
to [1814e666e5].
︙ | | |
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
-
+
|
{
size_t i;
for (i = 0; i < range.length; i++)
buffer[i] = [self objectAtIndex: range.location + i];
}
- (id*)objects
- (id const*)objects
{
OFObject *container;
size_t count;
id *buffer;
container = [[[OFObject alloc] init] autorelease];
count = [self count];
|
︙ | | |
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
|
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
|
-
+
|
- (OFString*)componentsJoinedByString: (OFString*)separator
usingSelector: (SEL)selector
options: (int)options
{
void *pool;
OFMutableString *ret;
id *objects;
id const *objects;
size_t i, count;
if (separator == nil)
@throw [OFInvalidArgumentException exception];
count = [self count];
|
︙ | | |
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
|
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
|
-
+
|
return false;
return true;
}
- (uint32_t)hash
{
id *objects = [self objects];
id const *objects = [self objects];
size_t i, count = [self count];
uint32_t hash;
OF_HASH_INIT(hash);
for (i = 0; i < count; i++)
OF_HASH_ADD_HASH(hash, [objects[i] hash]);
|
︙ | | |
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
|
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
|
-
+
|
return [ret autorelease];
}
- (OFXMLElement*)XMLElementBySerializing
{
void *pool = objc_autoreleasePoolPush();
OFXMLElement *element;
id <OFSerialization> *objects = [self objects];
id <OFSerialization> const *objects = [self objects];
size_t i, count = [self count];
if ([self isKindOfClass: [OFMutableArray class]])
element = [OFXMLElement elementWithName: @"OFMutableArray"
namespace: OF_SERIALIZATION_NS];
else
element = [OFXMLElement elementWithName: @"OFArray"
|
︙ | | |
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
|
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
|
-
+
-
+
|
objc_autoreleasePoolPop(pool);
return data;
}
- (void)makeObjectsPerformSelector: (SEL)selector
{
id *objects = [self objects];
id const *objects = [self objects];
size_t i, count = [self count];
for (i = 0; i < count; i++)
[objects[i] performSelector: selector];
}
- (void)makeObjectsPerformSelector: (SEL)selector
withObject: (id)object
{
id *objects = [self objects];
id const *objects = [self objects];
size_t i, count = [self count];
for (i = 0; i < count; i++)
[objects[i] performSelector: selector
withObject: object];
}
|
︙ | | |
Modified src/OFArray_adjacent.m
from [794a332a64]
to [99931c4432].
︙ | | |
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
-
+
|
}
return self;
}
- initWithArray: (OFArray*)array
{
id *objects;
id const *objects;
size_t i, count;
self = [super init];
if (array == nil)
return self;
|
︙ | | |
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
-
+
|
}
- (size_t)count
{
return [_array count];
}
- (id*)objects
- (id const*)objects
{
return [_array items];
}
- (id)objectAtIndex: (size_t)index
{
return *((id*)[_array itemAtIndex: index]);
|
︙ | | |
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
|
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
|
-
+
|
return [OFArray_adjacentSubarray arrayWithArray: self
range: range];
}
- (bool)isEqual: (id)object
{
OFArray *otherArray;
id *objects, *otherObjects;
id const *objects, *otherObjects;
size_t i, count;
if ([object class] != [OFArray_adjacent class] &&
[object class] != [OFMutableArray_adjacent class] &&
[object class] != [OFArray_adjacentSubarray class])
return [super isEqual: object];
|
︙ | | |
Modified src/OFArray_adjacentSubarray.m
from [e067dd075f]
to [e44a0576ae].
︙ | | |
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
-
+
-
+
|
#include "config.h"
#import "OFArray_adjacentSubarray.h"
#import "OFArray_adjacent.h"
#import "OFMutableArray_adjacent.h"
@implementation OFArray_adjacentSubarray
- (id*)objects
- (const id*)objects
{
return [_array objects] + _range.location;
}
- (bool)isEqual: (id)object
{
OFArray *otherArray;
id *objects, *otherObjects;
id const *objects, *otherObjects;
size_t i;
if ([object class] != [OFArray_adjacent class] &&
[object class] != [OFMutableArray_adjacent class] &&
[object class] != [OFArray_adjacentSubarray class])
return [super isEqual: object];
|
︙ | | |
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
-
+
|
return true;
}
#ifdef OF_HAVE_BLOCKS
- (void)enumerateObjectsUsingBlock: (of_array_enumeration_block_t)block
{
id *objects = [self objects];
id const *objects = [self objects];
size_t i;
bool stop = false;
for (i = 0; i < _range.length && !stop; i++)
block(objects[i], i, &stop);
}
#endif
@end
|
Modified src/OFCountedSet_hashtable.m
from [f3bb080962]
to [4285e1f843].
︙ | | |
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
-
+
|
}
- initWithArray: (OFArray*)array
{
self = [self init];
@try {
id *objects = [array objects];
id const *objects = [array objects];
size_t i, count = [array count];
for (i = 0; i < count; i++)
[self addObject: objects[i]];
} @catch (id e) {
[self release];
@throw e;
|
︙ | | |
Modified src/OFDictionary.m
from [a9ccdce0b3]
to [64a914391d].
︙ | | |
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
|
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
|
-
+
|
return [self initWithKeysAndObjects: key, object, nil];
}
- initWithObjects: (OFArray*)objects_
forKeys: (OFArray*)keys_
{
id *objects, *keys;
id const *objects, *keys;
size_t count;
@try {
count = [objects_ count];
if (count != [keys_ count])
@throw [OFInvalidArgumentException exception];
|
︙ | | |
Modified src/OFKernelEventObserver.m
from [fb20fdd1d1]
to [cb71953a13].
︙ | | |
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
|
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
|
-
+
|
- (void)OF_processQueue
{
#ifdef OF_HAVE_THREADS
[_mutex lock];
#endif
@try {
id *queueObjects = [_queue objects];
id const *queueObjects = [_queue objects];
int *queueInfoItems = [_queueInfo items];
int *queueFDsItems = [_queueFDs items];
size_t i, count = [_queue count];
for (i = 0; i < count; i++) {
id object = queueObjects[i];
int action = queueInfoItems[i];
|
︙ | | |
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
-
+
|
OF_ENSURE(sendto(_cancelFD[1], "", 1, 0, (struct sockaddr*)&_cancelAddr,
sizeof(_cancelAddr)) > 0);
#endif
}
- (bool)OF_processCache
{
id *objects = [_readObjects objects];
id const *objects = [_readObjects objects];
size_t i, count = [_readObjects count];
bool foundInCache = false;
for (i = 0; i < count; i++) {
if ([objects[i] isKindOfClass: [OFStream class]] &&
[objects[i] hasDataInReadBuffer] &&
![objects[i] OF_isWaitingForDelimiter]) {
|
︙ | | |
Modified src/OFKernelEventObserver_select.m
from [434ba010aa]
to [71a3935230].
︙ | | |
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
-
+
|
{
FD_CLR(fd, &_writeFDs);
}
- (bool)observeForTimeInterval: (of_time_interval_t)timeInterval
{
void *pool = objc_autoreleasePoolPush();
id *objects;
id const *objects;
fd_set readFDs;
fd_set writeFDs;
struct timeval timeout;
size_t i, count, realEvents = 0;
[self OF_processQueue];
|
︙ | | |
Modified src/OFMutableArray_adjacent.m
from [1c77ed7f95]
to [873b95dc7f].
︙ | | |
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
-
+
|
_mutations++;
}
- (void)insertObjectsFromArray: (OFArray*)array
atIndex: (size_t)index
{
id *objects = [array objects];
id const *objects = [array objects];
size_t i, count = [array count];
@try {
[_array insertItems: objects
atIndex: index
count: count];
} @catch (OFOutOfRangeException *e) {
|
︙ | | |
Modified src/OFProcess.m
from [521a1f3185]
to [bf59320c7a].
︙ | | |
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
-
+
|
#ifndef _WIN32
if (pipe(_readPipe) != 0 || pipe(_writePipe) != 0)
@throw [OFInitializationFailedException
exceptionWithClass: [self class]];
switch ((_pid = fork())) {
case 0:;
OFString **objects = [arguments objects];
OFString *const *objects = [arguments objects];
size_t i, count = [arguments count];
char **argv;
of_string_encoding_t encoding;
argv = [self allocMemoryWithSize: sizeof(char*)
count: count + 2];
|
︙ | | |
Modified src/OFXMLElement.m
from [e9f05c1971]
to [9625f21669].
︙ | | |
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
|
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
|
-
+
|
objc_autoreleasePoolPop(pool);
}
- (OFString*)stringValue
{
OFMutableString *ret;
OFXMLElement **objects;
OFXMLElement *const *objects;
size_t i, count = [_children count];
if (count == 0)
return @"";
ret = [OFMutableString string];
objects = [_children objects];
|
︙ | | |
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
|
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
|
-
+
|
indentation: (unsigned int)indentation
level: (unsigned int)level
{
void *pool;
char *cString;
size_t length, i, j, attributesCount;
OFString *prefix, *parentPrefix;
OFXMLAttribute **attributesObjects;
OFXMLAttribute *const *attributesObjects;
OFString *ret;
OFString *defaultNS;
pool = objc_autoreleasePoolPush();
parentPrefix = [allNamespaces objectForKey:
(parent != nil && parent->_namespace != nil
|
︙ | | |
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
|
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
|
-
+
|
cString[i++] = '\'';
objc_autoreleasePoolPop(pool2);
}
/* Childen */
if (_children != nil) {
OFXMLElement **childrenObjects = [_children objects];
OFXMLElement *const *childrenObjects = [_children objects];
size_t childrenCount = [_children count];
OFDataArray *tmp = [OFDataArray dataArray];
bool indent;
if (indentation > 0) {
indent = true;
|
︙ | | |
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
|
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
|
-
+
-
+
-
+
-
+
|
stringValue: stringValue]];
objc_autoreleasePoolPop(pool);
}
- (OFXMLAttribute*)attributeForName: (OFString*)attributeName
{
OFXMLAttribute **objects = [_attributes objects];
OFXMLAttribute *const *objects = [_attributes objects];
size_t i, count = [_attributes count];
for (i = 0; i < count; i++)
if (objects[i]->_namespace == nil &&
[objects[i]->_name isEqual: attributeName])
return [[objects[i] retain] autorelease];
return nil;
}
- (OFXMLAttribute*)attributeForName: (OFString*)attributeName
namespace: (OFString*)attributeNS
{
OFXMLAttribute **objects;
OFXMLAttribute *const *objects;
size_t i, count;
if (attributeNS == nil)
return [self attributeForName: attributeName];
objects = [_attributes objects];
count = [_attributes count];
for (i = 0; i < count; i++)
if ([objects[i]->_namespace isEqual: attributeNS] &&
[objects[i]->_name isEqual: attributeName])
return [[objects[i] retain] autorelease];
return nil;
}
- (void)removeAttributeForName: (OFString*)attributeName
{
OFXMLAttribute **objects = [_attributes objects];
OFXMLAttribute *const *objects = [_attributes objects];
size_t i, count = [_attributes count];
for (i = 0; i < count; i++) {
if (objects[i]->_namespace == nil &&
[objects[i]->_name isEqual: attributeName]) {
[_attributes removeObjectAtIndex: i];
return;
}
}
}
- (void)removeAttributeForName: (OFString*)attributeName
namespace: (OFString*)attributeNS
{
OFXMLAttribute **objects;
OFXMLAttribute *const *objects;
size_t i, count;
if (attributeNS == nil) {
[self removeAttributeForName: attributeName];
return;
}
|
︙ | | |
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
|
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
|
-
+
-
+
-
+
-
+
|
return [[self elementsForName: elementName
namespace: elementNS] firstObject];
}
- (OFArray*)elements
{
OFMutableArray *ret = [OFMutableArray array];
OFXMLElement **objects = [_children objects];
OFXMLElement *const *objects = [_children objects];
size_t i, count = [_children count];
for (i = 0; i < count; i++)
if ([objects[i] isKindOfClass: [OFXMLElement class]])
[ret addObject: objects[i]];
[ret makeImmutable];
return ret;
}
- (OFArray*)elementsForName: (OFString*)elementName
{
OFMutableArray *ret = [OFMutableArray array];
OFXMLElement **objects = [_children objects];
OFXMLElement *const *objects = [_children objects];
size_t i, count = [_children count];
for (i = 0; i < count; i++)
if ([objects[i] isKindOfClass: [OFXMLElement class]] &&
objects[i]->_namespace == nil &&
[objects[i]->_name isEqual: elementName])
[ret addObject: objects[i]];
[ret makeImmutable];
return ret;
}
- (OFArray*)elementsForNamespace: (OFString*)elementNS
{
OFMutableArray *ret = [OFMutableArray array];
OFXMLElement **objects = [_children objects];
OFXMLElement *const *objects = [_children objects];
size_t i, count = [_children count];
for (i = 0; i < count; i++)
if ([objects[i] isKindOfClass: [OFXMLElement class]] &&
objects[i]->_name != nil &&
[objects[i]->_namespace isEqual: elementNS])
[ret addObject: objects[i]];
[ret makeImmutable];
return ret;
}
- (OFArray*)elementsForName: (OFString*)elementName
namespace: (OFString*)elementNS
{
OFMutableArray *ret;
OFXMLElement **objects;
OFXMLElement *const *objects;
size_t i, count;
if (elementNS == nil)
return [self elementsForName: elementName];
ret = [OFMutableArray array];
objects = [_children objects];
|
︙ | | |
Modified src/OFXMLElementBuilder.m
from [da1329e0fa]
to [119bcfbb79].
︙ | | |
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
-
+
|
- (void)parser: (OFXMLParser*)parser
didStartElement: (OFString*)name
prefix: (OFString*)prefix
namespace: (OFString*)namespace
attributes: (OFArray*)attributes
{
OFXMLElement *element;
OFXMLAttribute **objects;
OFXMLAttribute *const *objects;
size_t i, count;
element = [OFXMLElement elementWithName: name
namespace: namespace];
objects = [attributes objects];
count = [attributes count];
|
︙ | | |
Modified src/OFXMLParser.m
from [e7da32bd09]
to [75261e507a].
︙ | | |
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
-
+
|
return ret;
}
static OFString*
namespaceForPrefix(OFString *prefix, OFArray *namespaces)
{
OFDictionary **objects = [namespaces objects];
OFDictionary *const *objects = [namespaces objects];
ssize_t i;
if (prefix == nil)
prefix = @"";
for (i = [namespaces count] - 1; i >= 0; i--) {
OFString *tmp;
|
︙ | | |
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
|
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
|
-
+
|
}
/* Inside a tag, name found */
- (void)OF_inTagState
{
void *pool;
OFString *namespace;
OFXMLAttribute **attributesObjects;
OFXMLAttribute *const *attributesObjects;
size_t j, attributesCount;
if (_data[_i] != '>' && _data[_i] != '/') {
if (_data[_i] != ' ' && _data[_i] != '\t' &&
_data[_i] != '\n' && _data[_i] != '\r') {
_last = _i;
_state = OF_XMLPARSER_IN_ATTRIBUTE_NAME;
|
︙ | | |