ReactOS
0.4.17-dev-573-g8315b8c
recalloc.c
Go to the documentation of this file.
1
#include <stdlib.h>
2
#include <string.h>
3
#include <errno.h>
4
#include <malloc.h>
5
6
void
*
__cdecl
recalloc
(
void
*
mem
,
size_t
num
,
size_t
size
)
7
{
8
size_t
old_size
;
9
void
*
ret
;
10
11
if
(!
mem
)
12
return
calloc
(
num
,
size
);
13
14
size
=
num
*
size
;
15
old_size
=
_msize
(
mem
);
16
17
ret
=
realloc
(
mem
,
size
);
18
if
(!
ret
) {
19
*
_errno
() =
ENOMEM
;
20
return
NULL
;
21
}
22
23
if
(
size
>
old_size
)
24
memset
((
unsigned
char
*)
ret
+
old_size
, 0,
size
-
old_size
);
25
return
ret
;
26
}
27
28
#ifdef _WIN64
29
void
*
__imp__recalloc
=
recalloc
;
30
#else
31
void
*
_imp___recalloc
=
recalloc
;
32
#endif
__imp__recalloc
const void *const __imp__recalloc
Definition:
_recalloc.c:38
realloc
#define realloc
Definition:
debug_ros.c:6
NULL
#define NULL
Definition:
types.h:112
_errno
int *CDECL _errno(void)
Definition:
errno.c:215
_msize
size_t CDECL _msize(void *mem)
Definition:
heap.c:354
__cdecl
#define __cdecl
Definition:
corecrt.h:121
ENOMEM
#define ENOMEM
Definition:
errno.h:35
ret
return ret
Definition:
mutex.c:146
old_size
size_t const old_size
Definition:
expand.cpp:65
size
GLsizeiptr size
Definition:
glext.h:5919
num
GLuint GLuint num
Definition:
glext.h:9618
_imp___recalloc
void * _imp___recalloc
Definition:
recalloc.c:31
recalloc
void *__cdecl recalloc(void *mem, size_t num, size_t size)
Definition:
recalloc.c:6
calloc
#define calloc
Definition:
rosglue.h:14
memset
#define memset(x, y, z)
Definition:
compat.h:39
mem
Definition:
mem.c:349
sdk
lib
crt
recalloc.c
Generated on Sat Aug 1 2026 06:19:45 for ReactOS by
1.9.6