ReactOS 0.4.17-dev-573-g8315b8c
recalloc.c File Reference
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <malloc.h>
Include dependency graph for recalloc.c:

Go to the source code of this file.

Functions

void *__cdecl recalloc (void *mem, size_t num, size_t size)
 

Variables

void_imp___recalloc = recalloc
 

Function Documentation

◆ recalloc()

void *__cdecl recalloc ( void mem,
size_t  num,
size_t  size 
)

Definition at line 6 of file recalloc.c.

7{
8 size_t old_size;
9 void *ret;
10
11 if(!mem)
12 return calloc(num, size);
13
14 size = num*size;
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}
#define realloc
Definition: debug_ros.c:6
#define NULL
Definition: types.h:112
int *CDECL _errno(void)
Definition: errno.c:215
size_t CDECL _msize(void *mem)
Definition: heap.c:354
#define ENOMEM
Definition: errno.h:35
return ret
Definition: mutex.c:146
size_t const old_size
Definition: expand.cpp:65
GLsizeiptr size
Definition: glext.h:5919
GLuint GLuint num
Definition: glext.h:9618
#define calloc
Definition: rosglue.h:14
#define memset(x, y, z)
Definition: compat.h:39
Definition: mem.c:349

Variable Documentation

◆ _imp___recalloc

void* _imp___recalloc = recalloc

Definition at line 31 of file recalloc.c.