28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFOutOfMemoryException.h"
#import "macros.h"
#define ADD_STR_HASH(str) \
tmp = [str hash]; \
OF_HASH_ADD(hash, tmp >> 24); \
OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); \
OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); \
OF_HASH_ADD(hash, tmp & 0xFF);
static OF_INLINE OFString*
resolve_relative_path(OFString *path)
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFMutableArray *array;
OFString *ret;
BOOL done = NO;
|
<
<
<
<
<
<
<
|
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFOutOfMemoryException.h"
#import "macros.h"
static OF_INLINE OFString*
resolve_relative_path(OFString *path)
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFMutableArray *array;
OFString *ret;
BOOL done = NO;
|
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
|
return NO;
return YES;
}
- (uint32_t)hash
{
uint32_t hash, tmp;
OF_HASH_INIT(hash);
ADD_STR_HASH(scheme);
ADD_STR_HASH(host);
OF_HASH_ADD(hash, (port >> 8) & 0xFF);
OF_HASH_ADD(hash, port & 0xFF);
ADD_STR_HASH(user);
ADD_STR_HASH(password);
ADD_STR_HASH(path);
ADD_STR_HASH(parameters);
ADD_STR_HASH(query);
ADD_STR_HASH(fragment);
OF_HASH_FINALIZE(hash);
return hash;
}
- copy
|
|
<
<
|
|
|
|
<
|
|
|
|
|
|
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
|
return NO;
return YES;
}
- (uint32_t)hash
{
uint32_t hash;
OF_HASH_INIT(hash);
OF_HASH_ADD_INT32(hash, [scheme hash]);
OF_HASH_ADD_INT32(hash, [host hash]);
OF_HASH_ADD_INT16(hash, port);
OF_HASH_ADD_INT32(hash, [user hash]);
OF_HASH_ADD_INT32(hash, [password hash]);
OF_HASH_ADD_INT32(hash, [path hash]);
OF_HASH_ADD_INT32(hash, [parameters hash]);
OF_HASH_ADD_INT32(hash, [query hash]);
OF_HASH_ADD_INT32(hash, [fragment hash]);
OF_HASH_FINALIZE(hash);
return hash;
}
- copy
|