//
// System BN 22-Mär-98
//
//
//
//
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <stdio.h>

#include "WinMain.h"
#include "System.h"

#define __CFILE__ "System"
char SYSTEM_acString[1024];

extern long lAllokierterSpeicher;
extern int nExit;

/*******************************************************************/
/* Mem_AllokierterSpeicher */
/*******************************************************************/
long Mem_AllokierterSpeicher (void)
{
return(lAllokierterSpeicher);
}

/*******************************************************************/
/* Mem_Alloc */
/*******************************************************************/
void *Mem_Alloc (long lAllocGroesse)
{
int nRet=FALSE;
void *pPointer=NULL;


pPointer = (void *)malloc(lAllocGroesse);
if(pPointer!=NULL){
lAllokierterSpeicher += lAllocGroesse;
}
return(pPointer);
}

/*******************************************************************/
/* Mem_ReAlloc */
/*******************************************************************/
void *Mem_ReAlloc (void *pAlterPointer, long lAlteAllocGroesse, long lAllocGroesse)
{
int nRet=FALSE;
void *pPointer=NULL;
/*

pPointer = Mem_Alloc(lAllocGroesse);
if(pPointer!=NULL){
memcpy(pPointer, pAlterPointer, lAlteAllocGroesse);
lAllokierterSpeicher = lAllokierterSpeicher + lAllocGroesse - lAlteAllocGroesse;
//Mem_Free(pAlterPointer, lAlteAllocGroesse);
}
*/


pPointer = (void *)realloc(pAlterPointer, lAllocGroesse);
if(pPointer!=NULL){
lAllokierterSpeicher = lAllokierterSpeicher + lAllocGroesse - lAlteAllocGroesse;
}

return(pPointer);
}

/*******************************************************************/
/* Mem_Free */
/*******************************************************************/
void Mem_Free (void *pAlterPointer, long lAllocGroesse)
{
if(pAlterPointer!=NULL){
lAllokierterSpeicher -= lAllocGroesse;
free(pAlterPointer);
}
}

//------------------------------------------------------------------
// AusnahmeFehler
//------------------------------------------------------------------
int AusnahmeFehler (char *acFehler, char *acModul, int nZeile)
{
int nRet=FALSE;
char acAusgabe[4096];


sprintf(acAusgabe, "%s \n (Module %s Line %d)", acFehler, acModul, nZeile);
MessageBox(NULL, acAusgabe, "Fineline Exception", MB_ICONEXCLAMATION | MB_OK);
nExit = TRUE;
return(nRet);
}

//------------------------------------------------------------------
// CBezeichner
//------------------------------------------------------------------
int CBezeichner (char cZeichen)
{
int nRet=TRUE;


if(cZeichen=='$' || cZeichen=='_' || (cZeichen>=65 && cZeichen<=122) || (cZeichen>=48 && cZeichen<=57)){
nRet = FALSE;
}
return(nRet);
}