ChangeLog: 19990704-16:20
This commit is contained in:
@@ -1,3 +1,36 @@
|
||||
19990704-16:20 Ryszard Glab <rglab@imid.med.pl>
|
||||
|
||||
* include/init.h
|
||||
* changed definitions of HB_INIT_SYMBOLS_* and HB_CALL_ON_STARTUP_*
|
||||
to make it more consistent. The symbol table should be defined now:
|
||||
HB_INIT_SYMBOLS_BEGIN( moduleName__InitSymbols )
|
||||
{ "FIRST", FS_PUBLIC, HB_FIRST, 0},
|
||||
/* more symbols */
|
||||
HB_INIT_SYMBOLS_END( moduleName__InitSymbols );
|
||||
|
||||
* source/compiler/harbour.y
|
||||
* changed generated C code to support new HB_INIT_SYMBOLS_* macros
|
||||
|
||||
* source/rtl/arrays.c
|
||||
* source/rtl/classes.c
|
||||
* source/rtl/console.c
|
||||
* source/rtl/dates.c
|
||||
* source/rtl/descend.c
|
||||
* source/rtl/dir.c
|
||||
* source/rtl/environ.c
|
||||
* source/rtl/files.c
|
||||
* source/rtl/hardcr.c
|
||||
* source/rtl/math.c
|
||||
* source/rtl/mtran.c
|
||||
* source/rtl/set.c
|
||||
* source/rtl/strings.c
|
||||
* source/rtl/transfrm.c
|
||||
* changed to use he new definition of HB_INIT_SYMBOLS_* and
|
||||
HB_CALL_ON_STARTUP_* macros
|
||||
|
||||
* tests/working/box.prg
|
||||
* changed "BOX.CH" to lowercase (Linux is case-sensitive OS)
|
||||
|
||||
19990702-09:08 Alexander Kresin
|
||||
* source\hbpp\hbpp.c
|
||||
* Changed logic for fixing some problems
|
||||
|
||||
@@ -12,81 +12,89 @@ void ProcessSymbols( SYMBOL * pSymbols, WORD wSymbols );
|
||||
#ifdef HARBOUR_STRICT_ANSI_C
|
||||
|
||||
#define HB_INIT_SYMBOLS_BEGIN( func ) \
|
||||
static SYMBOL symbols[] = {
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) }; }; \
|
||||
void func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
}
|
||||
#define HB_INIT_SYMBOLS_END( func )
|
||||
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) func( void )
|
||||
#define HB_CALL_ON_STARTUP_END( func )
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) func( void ) {
|
||||
#define HB_CALL_ON_STARTUP_END( func ) }
|
||||
|
||||
#else /* HARBOUR_STRICT_ANSI_C */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define HB_INIT_SYMBOLS_BEGIN( func ) \
|
||||
static SYMBOL symbols[] = {
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) }; \
|
||||
static void __attribute__ ((constructor)) func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
}
|
||||
#define HB_INIT_SYMBOLS_END( func )
|
||||
|
||||
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) \
|
||||
static void __attribute__ ((constructor)) func( void )
|
||||
static void __attribute__ ((constructor)) func( void ) {
|
||||
|
||||
#define HB_CALL_ON_STARTUP_END( func )
|
||||
#define HB_CALL_ON_STARTUP_END( func ) }
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#define HB_INIT_SYMBOLS_BEGIN( func ) \
|
||||
static SYMBOL symbols[] = {
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) }; \
|
||||
static void func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
}
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func )
|
||||
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) \
|
||||
static void func( void )
|
||||
static void func( void ) {
|
||||
|
||||
#define HB_CALL_ON_STARTUP_END( func )
|
||||
#define HB_CALL_ON_STARTUP_END( func ) }
|
||||
#endif
|
||||
|
||||
#if (defined(_MSC_VER) || defined(__IBMCPP__))
|
||||
#define HB_INIT_SYMBOLS_BEGIN( func ) \
|
||||
static int func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
return 1; \
|
||||
}
|
||||
static SYMBOL symbols[] = {
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) static int static_int_##func = func();
|
||||
#define HB_INIT_SYMBOLS_END( func ) }; \
|
||||
static int func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
return 1; \
|
||||
}; \
|
||||
static int static_int_##func = func()
|
||||
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) \
|
||||
static int func( void ); \
|
||||
static int static_int_##func = func(); \
|
||||
static int func( void )
|
||||
static int func( void ) {
|
||||
|
||||
#define HB_CALL_ON_STARTUP_END( func ) return 1;
|
||||
#define HB_CALL_ON_STARTUP_END( func ) return 1 }; \
|
||||
static int static_int_##func = func()
|
||||
#endif
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
#define HB_INIT_SYMBOLS_BEGIN( func ) \
|
||||
static int func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
return 1; \
|
||||
}
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) static int static_int_##func = func();
|
||||
static SYMBOL symbols[] = {
|
||||
|
||||
#define HB_INIT_SYMBOLS_END( func ) }; \
|
||||
static int func( void ) \
|
||||
{ \
|
||||
ProcessSymbols( symbols, sizeof( symbols ) / sizeof( SYMBOL ) ); \
|
||||
return 1; \
|
||||
}; \
|
||||
static int static_int_##func = func()
|
||||
|
||||
#define HB_CALL_ON_STARTUP_BEGIN( func ) \
|
||||
static int func( void ); \
|
||||
static int static_int_##func = func(); \
|
||||
static int func( void )
|
||||
static int func( void ) {
|
||||
|
||||
#define HB_CALL_ON_STARTUP_END( func ) return 1;
|
||||
#define HB_CALL_ON_STARTUP_END( func ) return 1; }; \
|
||||
static int static_int_##func = func()
|
||||
#endif
|
||||
|
||||
#endif /*HARBOUR_STRICT_ANSI_C */
|
||||
|
||||
@@ -2070,7 +2070,10 @@ void GenCCode( char *szFileName, char *szName ) /* generates the C languag
|
||||
}
|
||||
|
||||
/* writes the symbol table */
|
||||
fprintf( yyc, "\nstatic SYMBOL symbols[] = { " );
|
||||
/* fprintf( yyc, "\nstatic SYMBOL symbols[] = { " ); */
|
||||
/* Generate the wrapper that will initialize local symbol table
|
||||
*/
|
||||
fprintf( yyc, "\n\nHB_INIT_SYMBOLS_BEGIN( %s__InitSymbols )\n", symbols.pFirst->szName );
|
||||
|
||||
if( ! _iStartProc )
|
||||
pSym = pSym->pNext; /* starting procedure is always the first symbol */
|
||||
@@ -2111,16 +2114,12 @@ void GenCCode( char *szFileName, char *szName ) /* generates the C languag
|
||||
}
|
||||
|
||||
if( pSym != symbols.pLast )
|
||||
fprintf( yyc, ",\n " );
|
||||
fprintf( yyc, ",\n" );
|
||||
|
||||
pSym = pSym->pNext;
|
||||
}
|
||||
fprintf( yyc, " };\n\n" );
|
||||
|
||||
/* Generate function that will initialize local symbol table
|
||||
*/
|
||||
fprintf( yyc, "HB_INIT_SYMBOLS_BEGIN( %s__InitSymbols );\n", symbols.pFirst->szName );
|
||||
fprintf( yyc, "HB_INIT_SYMBOLS_END( %s__InitSymbols )\n\n", symbols.pFirst->szName );
|
||||
/* fprintf( yyc, " };\n\n" ); */
|
||||
fprintf( yyc, "\nHB_INIT_SYMBOLS_END( %s__InitSymbols );\n", symbols.pFirst->szName );
|
||||
fprintf( yyc, "#pragma startup %s__InitSymbols\n\n", symbols.pFirst->szName );
|
||||
|
||||
/* Generate functions data
|
||||
|
||||
@@ -21,7 +21,7 @@ HARBOUR HB_ASIZE(void);
|
||||
HARBOUR HB_ASORT(void);
|
||||
HARBOUR HB_ATAIL(void);
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Arrays__InitSymbols )
|
||||
{ "ACLONE", FS_PUBLIC, HB_ACLONE , 0 },
|
||||
{ "ACOPY", FS_PUBLIC, HB_ACOPY , 0 },
|
||||
{ "ADEL", FS_PUBLIC, HB_ADEL , 0 },
|
||||
@@ -33,8 +33,8 @@ static SYMBOL symbols[] = {
|
||||
{ "ASIZE", FS_PUBLIC, HB_ASIZE , 0 },
|
||||
{ "ASORT", FS_PUBLIC, HB_ASORT , 0 },
|
||||
{ "ATAIL", FS_PUBLIC, HB_ATAIL , 0 },
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_END( Arrays__InitSymbols );
|
||||
#pragma startup Arrays__InitSymbols
|
||||
|
||||
PHB_ITEM hb_itemNew( PHB_ITEM );
|
||||
PHB_ITEM hb_itemArrayPut( PHB_ITEM , ULONG , PHB_ITEM );
|
||||
@@ -46,10 +46,6 @@ static char *szBoundError = "Bound error: Array access";
|
||||
static char *szArgumentError = "Argument error: incorrect type";
|
||||
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Arrays__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Arrays__InitSymbols )
|
||||
#pragma startup Arrays__InitSymbols
|
||||
|
||||
/*
|
||||
* Internal
|
||||
*/
|
||||
|
||||
@@ -96,7 +96,7 @@ HARBOUR HB_OMODMETHOD( void );
|
||||
|
||||
/* Exported symbols of both classes.c and objfunc.prg */
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Classes__InitSymbols )
|
||||
{ "AODATA" , FS_PUBLIC, HB_AODATA , 0 },
|
||||
{ "AOGET" , FS_PUBLIC, HB_AOGET , 0 },
|
||||
{ "AOMETHOD" , FS_PUBLIC, HB_AOMETHOD , 0 },
|
||||
@@ -120,11 +120,7 @@ static SYMBOL symbols[] = {
|
||||
{ "OMODINLINE" , FS_PUBLIC, HB_OMODINLINE , 0 },
|
||||
{ "OMODMETHOD" , FS_PUBLIC, HB_OMODMETHOD , 0 },
|
||||
{ "OSEND" , FS_PUBLIC, HB_OSEND , 0 }
|
||||
};
|
||||
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Classes__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Classes__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Classes__InitSymbols );
|
||||
#pragma startup Classes__InitSymbols
|
||||
|
||||
/*
|
||||
|
||||
@@ -57,7 +57,7 @@ HARBOUR HB_SETPRC( void );
|
||||
HARBOUR HB_QOUT( void );
|
||||
HARBOUR HB_QQOUT( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Console__InitSymbols )
|
||||
{ "__ACCEPT" , FS_PUBLIC, HB___ACCEPT , 0 },
|
||||
{ "__EJECT" , FS_PUBLIC, HB___EJECT , 0 },
|
||||
{ "DEVOUT" , FS_PUBLIC, HB_DEVOUT , 0 },
|
||||
@@ -77,18 +77,13 @@ static SYMBOL symbols[] = {
|
||||
{ "SETPRC" , FS_PUBLIC, HB_SETPRC , 0 },
|
||||
{ "QOUT" , FS_PUBLIC, HB_QOUT , 0 },
|
||||
{ "QQOUT" , FS_PUBLIC, HB_QQOUT , 0 }
|
||||
};
|
||||
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Console__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Console__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Console__InitSymbols );
|
||||
#pragma startup Console__InitSymbols
|
||||
|
||||
static unsigned short dev_row, dev_col, p_row, p_col;
|
||||
static char CrLf [ CRLF_BUFFER_LEN ];
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( InitializeConsole )
|
||||
{
|
||||
#if defined(OS_DOS_COMPATIBLE)
|
||||
CrLf [0] = 13;
|
||||
CrLf [1] = 10;
|
||||
@@ -107,8 +102,7 @@ HB_CALL_ON_STARTUP_BEGIN( InitializeConsole )
|
||||
dev_col = 0;
|
||||
#endif
|
||||
p_row = p_col = 0;
|
||||
HB_CALL_ON_STARTUP_END( InitializeConsole )
|
||||
}
|
||||
HB_CALL_ON_STARTUP_END( InitializeConsole );
|
||||
#pragma startup InitializeConsole
|
||||
|
||||
USHORT hb_max_row( void )
|
||||
|
||||
@@ -39,14 +39,12 @@ HARBOUR HB_STOD( void );
|
||||
HARBOUR HB_TIME( void );
|
||||
HARBOUR HB_YEAR( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Dates__InitSymbols )
|
||||
{ "STOD", FS_PUBLIC, HB_STOD, 0 }
|
||||
}; /* rest of the functions is pulled automatically in initsymb.c */
|
||||
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Dates__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Dates__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Dates__InitSymbols );
|
||||
#pragma startup Dates__InitSymbols
|
||||
/* rest of the functions is pulled automatically in initsymb.c */
|
||||
|
||||
|
||||
double hb__seconds( void )
|
||||
{
|
||||
|
||||
@@ -11,12 +11,9 @@ extern STACK stack;
|
||||
|
||||
HARBOUR HB_DESCEND(void);
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Descend__InitSymbols )
|
||||
{ "DESCEND", FS_PUBLIC, HB_DESCEND, 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Descend__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Descend__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Descend__InitSymbols );
|
||||
#pragma Descend__InitSymbols
|
||||
|
||||
char *hb_strdescend( char *string )
|
||||
|
||||
@@ -87,12 +87,9 @@
|
||||
|
||||
HARBOUR HB_DIRECTORY(void);
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Dir__InitSymbols )
|
||||
{ "DIRECTORY", FS_PUBLIC, HB_DIRECTORY, 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Dir__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Dir__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Dir__InitSymbols );
|
||||
#pragma startup Dir__InitSymbols
|
||||
|
||||
static BOOL hb_strMatchDOS (char *pszString, char *pszMask);
|
||||
|
||||
@@ -43,15 +43,12 @@ HARBOUR HB_GETENV(void);
|
||||
HARBOUR HB_OS(void);
|
||||
HARBOUR HB_VERSION(void);
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Environ__InitSymbols )
|
||||
{ "__RUN" , FS_PUBLIC, HB___RUN , 0 },
|
||||
{ "GETENV" , FS_PUBLIC, HB_GETENV , 0 },
|
||||
{ "OS" , FS_PUBLIC, HB_OS , 0 },
|
||||
{ "VERSION", FS_PUBLIC, HB_VERSION, 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Environ__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Environ__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Environ__InitSymbols );
|
||||
#pragma startup Environ__InitSymbols
|
||||
|
||||
HARBOUR HB_OS(void)
|
||||
|
||||
@@ -131,7 +131,7 @@ HARBOUR HB_I2BIN( void );
|
||||
HARBOUR HB_L2BIN( void );
|
||||
HARBOUR HB_W2BIN( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Files__InitSymbols )
|
||||
{ "BIN2I" , FS_PUBLIC, HB_BIN2I , 0 },
|
||||
{ "BIN2L" , FS_PUBLIC, HB_BIN2L , 0 },
|
||||
{ "BIN2W" , FS_PUBLIC, HB_BIN2W , 0 },
|
||||
@@ -148,10 +148,7 @@ static SYMBOL symbols[] = {
|
||||
{ "I2BIN" , FS_PUBLIC, HB_I2BIN , 0 },
|
||||
{ "L2BIN" , FS_PUBLIC, HB_L2BIN , 0 },
|
||||
{ "W2BIN" , FS_PUBLIC, HB_W2BIN , 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Files__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Files__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Files__InitSymbols );
|
||||
#pragma startup Files__InitSymbols
|
||||
|
||||
/* Convert HARBOUR flags to IO subsystem flags */
|
||||
|
||||
@@ -12,12 +12,9 @@
|
||||
HARBOUR HB_HARDCR(void);
|
||||
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( HardCR__InitSymbols )
|
||||
{ "HARDCR", FS_PUBLIC, HB_HARDCR, 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( HardCR__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( HardCR__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( HardCR__InitSymbols );
|
||||
#pragma startup HardCR__InitSymbols
|
||||
|
||||
char *hb_hardcr( char *string )
|
||||
|
||||
@@ -20,13 +20,12 @@ HARBOUR HB_MOD( void );
|
||||
HARBOUR HB_ROUND( void );
|
||||
HARBOUR HB_SQRT( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
{ "MOD" , FS_PUBLIC, HB_MOD , 0 }
|
||||
}; /* The rest of functions is pulled automatically by initsymb.c */
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Math__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Math__InitSymbols )
|
||||
HB_INIT_SYMBOLS_BEGIN( Math__InitSymbols )
|
||||
{ "MOD" , FS_PUBLIC, HB_MOD , 0 }
|
||||
HB_INIT_SYMBOLS_END( Math__InitSymbols );
|
||||
#pragma startup Math__InitSymbols
|
||||
/* The rest of functions is pulled automatically by initsymb.c */
|
||||
|
||||
HARBOUR HB_ABS( void )
|
||||
{
|
||||
|
||||
@@ -14,12 +14,10 @@
|
||||
|
||||
HARBOUR HB_MEMOTRAN(void);
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
{ "MEMOTRAN", FS_PUBLIC, HB_MEMOTRAN, 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Memotran__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Memotran__InitSymbols )
|
||||
HB_INIT_SYMBOLS_BEGIN( Memotran__InitSymbols )
|
||||
{ "MEMOTRAN", FS_PUBLIC, HB_MEMOTRAN, 0 }
|
||||
HB_INIT_SYMBOLS_END( Memotran__InitSymbols );
|
||||
#pragma startup Memotran__InitSymbols
|
||||
|
||||
char *hb_memotran( char *string, char *hardcr, char *softcr )
|
||||
|
||||
@@ -34,13 +34,10 @@ int hb_set_printhan;
|
||||
HARBOUR HB_SET( void );
|
||||
HARBOUR HB___SETCENTURY( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Set__InitSymbols )
|
||||
{ "__SETCENTURY", FS_PUBLIC, HB___SETCENTURY, 0 },
|
||||
{ "SET" , FS_PUBLIC, HB_SET , 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Set__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Set__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Set__InitSymbols );
|
||||
#pragma startup Set__InitSymbols
|
||||
|
||||
static BOOL set_logical (PHB_ITEM pItem)
|
||||
|
||||
@@ -51,7 +51,7 @@ HARBOUR HB_TRIM( void );
|
||||
HARBOUR HB_UPPER( void );
|
||||
HARBOUR HB_VAL( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
HB_INIT_SYMBOLS_BEGIN( Strings__InitSymbols )
|
||||
{ "ALLTRIM" , FS_PUBLIC, HB_ALLTRIM, 0 },
|
||||
{ "ISALPHA" , FS_PUBLIC, HB_ISALPHA, 0 },
|
||||
{ "ISDIGIT" , FS_PUBLIC, HB_ISDIGIT, 0 },
|
||||
@@ -65,18 +65,14 @@ static SYMBOL symbols[] = {
|
||||
{ "RIGHT" , FS_PUBLIC, HB_RIGHT , 0 },
|
||||
{ "STRTRAN" , FS_PUBLIC, HB_STRTRAN, 0 },
|
||||
{ "STUFF" , FS_PUBLIC, HB_STUFF , 0 }
|
||||
}; /* The rest of functions is pulled automatically by initsymb.c */
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Strings__InitSymbols );
|
||||
HB_INIT_SYMBOLS_END( Strings__InitSymbols )
|
||||
HB_INIT_SYMBOLS_END( Strings__InitSymbols );
|
||||
#pragma startup Strings__InitSymbols
|
||||
/* The rest of functions is pulled automatically by initsymb.c */
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
HB_CALL_ON_STARTUP_BEGIN( Strings_InitInfinity )
|
||||
{
|
||||
infinity = -log( 0 );
|
||||
}
|
||||
HB_CALL_ON_STARTUP_END( Strings_InitInfinity )
|
||||
HB_CALL_ON_STARTUP_END( Strings_InitInfinity );
|
||||
#pragma startup Strings_InitInfinity
|
||||
#endif
|
||||
|
||||
|
||||
@@ -18,11 +18,9 @@
|
||||
|
||||
HARBOUR HB_TRANSFORM( void );
|
||||
|
||||
static SYMBOL symbols[] = {
|
||||
{ "TRANSFORM" , FS_PUBLIC, HB_TRANSFORM , 0 }
|
||||
};
|
||||
|
||||
HB_INIT_SYMBOLS_BEGIN( Transfrm__InitSymbols );
|
||||
HB_INIT_SYMBOLS_BEGIN( Transfrm__InitSymbols )
|
||||
{ "TRANSFORM" , FS_PUBLIC, HB_TRANSFORM , 0 }
|
||||
HB_INIT_SYMBOLS_END( Transfrm__InitSymbols )
|
||||
#pragma startup Transfrm__InitSymbols
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Testing Harbour device management.
|
||||
|
||||
#include "BOX.CH"
|
||||
#include "box.ch"
|
||||
function Main()
|
||||
|
||||
dispbox( 1, 1, 5, 5, B_SINGLE + 'X', 'color not supported')
|
||||
|
||||
Reference in New Issue
Block a user