39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
if (__memchunks != NULL)
free(__memchunks);
free(self);
return nil;
}
- (void*)getMemWithSize: (size_t)size
{
void *ptr, **memchunks;
size_t memchunks_size;
if (size == 0)
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
if (__memchunks != NULL)
free(__memchunks);
free(self);
return nil;
}
- addToMemoryPool: (void*)ptr
{
void **memchunks;
size_t memchunks_size;
memchunks_size = __memchunks_size + 1;
if (SIZE_MAX - __memchunks_size == 0 ||
memchunks_size > SIZE_MAX / sizeof(void*))
@throw [OFOutOfRangeException newWithObject: self];
if ((memchunks = realloc(__memchunks,
memchunks_size * sizeof(void*))) == NULL)
@throw [OFNoMemException newWithObject: self
andSize: memchunks_size];
__memchunks = memchunks;
__memchunks[__memchunks_size] = ptr;
__memchunks_size = memchunks_size;
return ptr;
}
- (void*)getMemWithSize: (size_t)size
{
void *ptr, **memchunks;
size_t memchunks_size;
if (size == 0)
|