campo-sirio/include/stdtypes.cpp
guy 033a402a1d isam.cpp Corretto messaggio in un CHECK
mask.cpp     Esteso tasto f12
msksheet.cpp Corretto evento E_FOCUS
stdtypes.cpp Aggiunto contatore


git-svn-id: svn://10.65.10.50/trunk@2166 c028cbd2-c16b-5b4b-a496-9718f37d4682
1995-11-17 10:29:45 +00:00

116 lines
1.9 KiB
C++
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdlib.h>
#include <stdio.h>
#define __STDTYPES_CPP
#include <extcdecl.h>
#include <conf.h>
#include <modaut.h>
#if XVT_OS != XVT_OS_SCOUNIX
#include <dos.h>
#include <hlapi_c.h>
#endif
#include <checks.h>
#include <isam.h>
#include <prefix.h>
#include <codeb.h>
#define REFKEY "CAMPOKEY"
#define VERKEY "ìpÙˆ¬cê<"
extern isfdptr *openf;
HIDDEN long _stdlevel = 0;
long get_std_level()
{ return _stdlevel; }
int get_serial_number()
{
#if XVT_OS != XVT_OS_SCOUNIX
const int status = HL_LOGIN(ModAd, DONT_CARE, REFKEY, VERKEY);
if (status != STATUS_OK)
return -1;
#endif
return getser();
}
void init_global_vars()
{
TPrefix& pref = prefix_init();
pref.set("");
_stdlevel = pref.filelevel();
FileDes d;
CGetFile(LF_DIR, &d, _nolock, NORDIR);
long maxfdir = d.EOX;
pref.set("DEF");
CGetFile(LF_DIR, &d, _nolock, NORDIR);
if (d.EOD > maxfdir) maxfdir = d.EOD;
isjournal = FALSE;
openf = new isfdptr[maxfdir];
openrec = new TRectype*[maxfdir];
for (long i = 0; i < maxfdir; i++)
{
openf[i] = NULL;
openrec[i] = NULL;
}
#if XVT_OS == XVT_OS_SCOUNIX
const bool muflag = CGetAut(MUAUT);
if (SerNo && !muflag)
fatal_box("Abnormal termination: check protection or serial number\n");
#endif
DB_init();
}
void free_global_vars()
{
#if XVT_OS != XVT_OS_SCOUNIX
HL_LOGOUT();
#endif
if (openf != NULL)
{
delete openf;
delete openrec;
prefix_destroy();
}
DB_exit();
}
#ifndef FOXPRO
#include <xvt.h>
#ifdef DBG
unsigned long _alloc_count = 0;
#endif
void* operator new(size_t size)
{
void* mem = (void*)malloc(size);
if (mem == NULL)
fatal_box("Out of memory: can't allocate %u bytes", size);
#ifdef DBG
_alloc_count++;
#endif
return mem;
}
void operator delete(void* ptr)
{
CHECK(ptr, "Can't delete a NULL pointer");
free(ptr);
}
#endif // FOXPRO