1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
-
+
+
|
/*
* Copyright (c) 2008-2021 Jonathan Schleifer <js@nil.im>
* Copyright (c) 2008-2022 Jonathan Schleifer <js@nil.im>
*
* All rights reserved.
*
* This file is part of ObjFW. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE.QPL included in
* the packaging of this file.
*
* Alternatively, it may be distributed under the terms of the GNU General
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "unistd_wrapper.h"
#include <assert.h>
#ifdef OF_APPLE_RUNTIME
# include <dlfcn.h>
#endif
|
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
-
+
+
+
|
return pointer;
}
void *
OFResizeMemory(void *pointer, size_t count, size_t size)
{
if OF_UNLIKELY (count == 0 || size == 0)
if OF_UNLIKELY (count == 0 || size == 0) {
free(pointer);
return NULL;
}
if OF_UNLIKELY (count > SIZE_MAX / size)
@throw [OFOutOfRangeException exception];
if OF_UNLIKELY ((pointer = realloc(pointer, count * size)) == NULL)
@throw [OFOutOfMemoryException
exceptionWithRequestedSize: size];
|