mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 14:30:57 +00:00
34 lines
705 B
C
34 lines
705 B
C
/* The use of these four functions was creating unwanted imports
|
|
* from msvcrt.dll in kernel32.dll. */
|
|
|
|
#define malloc libwine_malloc
|
|
#define free libwine_free
|
|
#define realloc libwine_realloc
|
|
#define _strdup libwine__strdup
|
|
|
|
#include "debug.c"
|
|
|
|
__MINGW_ATTRIB_MALLOC
|
|
void * __cdecl malloc(size_t size)
|
|
{
|
|
return LocalAlloc(0, size);
|
|
}
|
|
|
|
void __cdecl free(void *ptr)
|
|
{
|
|
LocalFree(ptr);
|
|
}
|
|
|
|
void * __cdecl realloc(void *ptr, size_t size)
|
|
{
|
|
if (ptr == NULL) return malloc(size);
|
|
return LocalReAlloc(ptr, size, LMEM_MOVEABLE);
|
|
}
|
|
|
|
__MINGW_ATTRIB_MALLOC
|
|
char * __cdecl _strdup(const char *str)
|
|
{
|
|
char *newstr = malloc(strlen(str) + 1);
|
|
if (newstr) strcpy(newstr, str);
|
|
return newstr;
|
|
}
|