reactos/rosapps/lib/dflat32/dfalloc.c
Steven Edwards 81345fd691 Still working on making dflat32 a dll. Alot of this will be cleaned up in the
next few weeks. I'm going through the DFLAT api doc and fixing the export
names and then going to try to build a simple hello dflat application.

svn path=/trunk/; revision=2844
2002-04-14 10:15:06 +00:00

71 lines
1.2 KiB
C

/* ---------- dfalloc.c ---------- */
//#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "dflat32/dflat.h"
static void AllocationError(void)
{
static BOOL OnceIn = FALSE;
extern jmp_buf AllocError;
extern BOOL AllocTesting;
static char *ErrMsg[] = {
"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",
"³ Out of Memory! ³",
"RÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄU"
};
int x, y;
CHAR_INFO savbuf[54];
DFRECT rc = {30,11,47,13};
INPUT_RECORD ir;
if (!OnceIn)
{
OnceIn = TRUE;
/* ------ close all windows ------ */
DfSendMessage(ApplicationWindow, CLOSE_WINDOW, 0, 0);
GetVideo(rc, savbuf);
for (x = 0; x < 18; x++)
{
for (y = 0; y < 3; y++)
{
int c = (255 & (*(*(ErrMsg+y)+x))) | 0x7000;
PutVideoChar(x+rc.lf, y+rc.tp, c);
}
}
GetKey(&ir);
StoreVideo(rc, savbuf);
if (AllocTesting)
longjmp(AllocError, 1);
}
}
void *DFcalloc(size_t nitems, size_t size)
{
void *rtn = calloc(nitems, size);
if (size && rtn == NULL)
AllocationError();
return rtn;
}
void *DFmalloc(size_t size)
{
void *rtn = malloc(size);
if (size && rtn == NULL)
AllocationError();
return rtn;
}
void *DFrealloc(void *block, size_t size)
{
void *rtn;
rtn = realloc(block, size);
if (size && rtn == NULL)
AllocationError();
return rtn;
}
/* EOF */