2000-07-12 08:46 UTC+0100 Victor Szakats <info@szelvesz.hu>

This commit is contained in:
Viktor Szakats
2000-07-12 07:29:09 +00:00
parent fc355a3bac
commit 7a5701da69
20 changed files with 130 additions and 509 deletions

View File

@@ -1,3 +1,44 @@
2000-07-12 08:46 UTC+0100 Victor Szakats <info@szelvesz.hu>
* doc/whatsnew.txt
+ Added some new items.
* source/pp/pptable.c
! .FMT -> .fmt (to be multiplatform friendly)
* makefile.bc
! Fixed PP dependency for HARBOUR.EXE
* source/pp/ppcore.c
* source/rdd/dbfntx/dbfntx1.c
- Removed // comments
* source/rdd/dbfntx/dbfntx1.c
! Fixed some BCC warnings.
* source/rdd/dbcmd.c
* source/rtl/disksphb.c
* source/rtl/errorapi.c
* source/rtl/tget.prg
* Formatting
* utils/hbdoc/Makefile
! Fixed TAB
* utils/hbextern/hbextern.prg
* utils/hbtest/rt_misc.prg
* = assigments -> :=
* include/hbcomp.h
* source/compiler/harbour.c
* source/compiler/harbour.l
* source/compiler/harbour.y
- Removed HB_NESTED_COMPILE.
- include/hbstruc.ch
- source/rtl/hbstruc.prg
- Removed.
2000-07-11 09:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.bc
* Updated to match makefile.bc
@@ -315,7 +356,6 @@
*the garbage collector is now aware of all items stored internally
in class related structures
2000-06-27-22:45 Luiz Rafael Culik <culik@sl.conex.net>
*Changelog
*Renamed to ChangeLog.008 and Started a new one

View File

@@ -4,6 +4,23 @@
----------------------------------------------------------------------
- Added HB_IDLE*() idle state handling functions.
- Watcom C++ fixes.
- SET RELATION support for RDDADS
- New language modules: IT, DE
- Slang support enhanced
- MemoEdit()/TEditor enhancements
- .NTX support started (creation now works)
- HBDOC .CHM output
- Garbage collector added
- Compiler -u, -m support, support for automatically compiled files for
DO, SET FORMAT TO, etc., memory usage optimizations
- Added HB_DISKSPACE(), __DBLIST(), __DBAPPEND()
- Fixes: Line numbering, PP, macro compiler, RTL (Extend API, Item API,
TRANSFORM(), DISKSPACE(), CURDIR(), __GET()), HBDOC,
HBTEST (for Xbase++ and Linux), Documentation, Class engine
- HBZLIB enhancements
Version 0.34 Build 34 (2000-06-02)
- OO engine enhanced (multiple inheritance, scoping, forwarding and delegating)

View File

@@ -195,51 +195,11 @@ typedef struct _AUTOOPEN
struct _AUTOOPEN * pNext;
} AUTOOPEN, * PAUTOOPEN; /* support structure for extern symbols */
#ifdef HB_NESTED_COMPILE
typedef struct _HARBVARS
{
FILES Files ;
FUNCTIONS Functions ;
FUNCTIONS Funcalls ;
SYMBOLS Symbols ;
PFUNCTION pInitFunc ;
PEXTERN pExterns ;
BOOL bExternal ;
char * szAnnounce ;
BOOL bAnyWarning ;
int iLine ;
int iFunctionCnt ;
int iErrorCount ;
char cVarType ;
ULONG ulLastLinePos ;
int iStaticCnt ;
int iVarScope ;
BOOL EOL ;
PHB_FNAME pFileName ;
char * buffer ;
FILE * yyin ;
FILE * yyout ;
char * yytext ;
int yyleng ;
void * yy_buffer ;
int yy_init ;
int yy_start ;
int yychar ;
void * yylval ;
#ifdef YYLSP_NEEDED
void * yylloc ;
#endif
int yynerrs ;
void * pLoops ;
void * rtvars ;
} HARBVARS, * PHARBVARS;
#endif
/* definitions for hb_compPCodeEval() support */
typedef void *HB_VOID_PTR;
typedef void * HB_VOID_PTR;
#define HB_PCODE_FUNC( func, type ) USHORT func( PFUNCTION pFunc, ULONG lPCodePos, type cargo )
typedef HB_PCODE_FUNC( HB_PCODE_FUNC_, HB_VOID_PTR );
typedef HB_PCODE_FUNC_ *HB_PCODE_FUNC_PTR;
typedef HB_PCODE_FUNC_ * HB_PCODE_FUNC_PTR;
void hb_compPCodeEval( PFUNCTION, HB_PCODE_FUNC_PTR *, void * );

View File

@@ -1,10 +0,0 @@
#ifndef HB_STRUCTURE
#define HB_STRUCTURE
#COMMAND STRUCTURE <StruName> <Var1> <x1:AS CLASS,AS STRUCTURE,AS STRU,AS ARRAY OF,AS> <Type1> [, <VarN> <xN:AS CLASS,AS STRUCTURE,AS STRU,AS ARRAY OF,AS> <TypeN> ] => ;
STATIC __<StruName> := {|| IF( __<StruName> == NIL, , ) , HB_Structure( <"StruName">, { <"Var1"> [, <"VarN">] } )} ;;
DECLARE <StruName> <Var1> <x1> <Type1> [ <VarN> <xN> <TypeN> ] ;;
#TRANSLATE AS NEW <StruName> => AS STRUCTURE <StruName> := ( Eval( __<StruName> ), HB_Structure( <"StruName"> ) )
#endif

View File

@@ -520,8 +520,7 @@ HARBOUR_EXE_OBJS = \
$(OBJ_DIR)\exproptb.obj \
$(OBJ_DIR)\exproptc.obj \
$(OBJ_DIR)\hbfunchk.obj \
$(OBJ_DIR)\ppcore.obj \
$(OBJ_DIR)\ppcomp.obj
$(PP_LIB)
#
# HBRUN.EXE rules

View File

@@ -144,26 +144,6 @@ static int hb_compAutoOpen( char * szPrg, BOOL * bSkipGen );
/* -m Support */
static BOOL hb_compAutoOpenFind( char * szName );
#ifdef HB_NESTED_COMPILE
static void hb_compSaveVars( PHARBVARS, int );
static void hb_compRestoreVars( PHARBVARS, int );
/* In Harbour.l */
extern void * hb_compGet_YY_CURRENT_BUFFER( void );
extern void hb_compSet_YY_CURRENT_BUFFER( void * );
extern int hb_compGet_yy_init( void );
extern void hb_compSet_yy_init( int i );
extern int hb_compGet_yy_start( void );
extern void hb_compSet_yy_start( int i );
extern int hb_compGet_yy_did_buffer_switch_on_eof( void );
extern void hb_compSet_yy_did_buffer_switch_on_eof( int );
/* In Harbour.y */
extern void * hb_compGet_pLoops( void );
extern void hb_compSet_pLoops( void * pLoops );
extern void * hb_compGet_rtvars( void );
extern void hb_compSet_rtvars( void * rtvars );
#endif
extern int yyparse( void ); /* main yacc parsing function */
@@ -3359,23 +3339,6 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] )
int iStatus = EXIT_SUCCESS;
PHB_FNAME pFileName;
/* Code to support nested compile excluded - other support code is #if defed out later in this file as well as in Harbour.l and Harbour.y */
#ifdef HB_NESTED_COMPILE
BOOL bNested = ( argc == 0 );
HARBVARS HarbourVars ;
#else
/* Note: the nested compile is almost completle, known issue when resuming compilation of main file, the immediate next line is skipped. */
#define hb_compSaveVars( p, i)
#define hb_compRestoreVars( p, i )
#endif
#ifdef HB_NESTED_COMPILE
if( bNested )
{
pFileName = hb_comp_pFileName;
}
#endif
hb_comp_pFileName = hb_fsFNameSplit( szPrg );
if( hb_comp_pFileName->szName )
@@ -3402,51 +3365,15 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] )
if( iStatus == EXIT_SUCCESS )
{
#ifdef HB_NESTED_COMPILE
if( bNested )
{
/* Minimal Save. */
hb_compSaveVars( &HarbourVars, 1 );
/* Add /D command line or envvar defines */
hb_compChkDefines( argc, argv );
/* Minimal Init for hb_compInclude() */
hb_comp_files.pLast = NULL ;
hb_comp_files.iFiles = 0 ;
hb_comp_iLine = 1 ;
hb_comp_iLine = 1 ;
}
else
#endif
{
/* Add /D command line or envvar defines */
hb_compChkDefines( argc, argv );
/* Initialize support variables */
hb_compInitVars();
}
/* Initialize support variables */
hb_compInitVars();
if( hb_compInclude( szFileName, NULL ) )
{
BOOL bSkipGen = FALSE ;
#ifdef HB_NESTED_COMPILE
if( bNested )
{
FILES tmpFiles ;
/* Complementary Save */
hb_compSaveVars( &HarbourVars, 2 );
tmpFiles = hb_comp_files ;
/* Full init. */
hb_compInitVars();
/* Must restore the recently opened file*/
hb_comp_files = tmpFiles ;
hb_comp_pExterns = NULL;
hb_comp_bExternal = FALSE;
}
#endif
hb_comp_szFile = szFileName;
@@ -3458,13 +3385,6 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] )
printf( "Compiling '%s'...\n", szFileName );
}
#ifdef HB_NESTED_COMPILE
if( bNested )
{
yyrestart( yyin );
}
#endif
/* Generate the starting procedure frame */
if( hb_comp_bStartProc )
hb_compFunctionAdd( hb_strupr( hb_strdup( hb_comp_pFileName->szName ) ), HB_FS_PUBLIC, FUN_PROCEDURE );
@@ -3605,22 +3525,7 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] )
}
else
{
#ifdef HB_NESTED_COMPILE
if( bNested )
{
printf( "Cannot open %s, assumed external\n", szFileName );
/* Minimal Restore. */
hb_compRestoreVars( &HarbourVars, 1 );
/* To avoid full restore down below. */
HarbourVars.yyin = NULL;
}
else
#endif
{
printf( "Cannot open input file: %s\n", szFileName );
}
printf( "Cannot open input file: %s\n", szFileName );
/* printf( "No code generated\n" ); */
iStatus = EXIT_FAILURE;
@@ -3656,26 +3561,6 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] )
iStatus = EXIT_FAILURE;
}
#ifdef HB_NESTED_COMPILE
if( bNested )
{
/* Only if needed. */
if( HarbourVars.yyin )
{
yyrestart( HarbourVars.yyin );
/* Full Restore */
hb_compRestoreVars( &HarbourVars, 3 );
}
if( pFileName )
{
hb_xfree( ( void * ) hb_comp_pFileName );
hb_comp_pFileName = pFileName;
}
}
#endif
return iStatus;
}
@@ -3820,105 +3705,3 @@ int hb_compAutoOpen( char * szPrg, BOOL * pbSkipGen )
return iStatus;
}
#ifdef HB_NESTED_COMPILE
void hb_compSaveVars( PHARBVARS pHarbourVars, int iScope )
{
if( iScope == 1 || iScope == 3 )
{
pHarbourVars->Files = hb_comp_files ;
pHarbourVars->iLine = hb_comp_iLine ;
pHarbourVars->yyin = yyin ;
}
if( iScope == 2 || iScope == 3 )
{
pHarbourVars->Functions = hb_comp_functions ;
pHarbourVars->Funcalls = hb_comp_funcalls ;
pHarbourVars->Symbols = hb_comp_symbols ;
pHarbourVars->pInitFunc = hb_comp_pInitFunc ;
pHarbourVars->pExterns = hb_comp_pExterns ;
pHarbourVars->bExternal = hb_comp_bExternal ;
pHarbourVars->szAnnounce = hb_comp_szAnnounce ;
pHarbourVars->bAnyWarning = hb_comp_bAnyWarning ;
pHarbourVars->iFunctionCnt = hb_comp_iFunctionCnt ;
pHarbourVars->iErrorCount = hb_comp_iErrorCount ;
pHarbourVars->cVarType = hb_comp_cVarType ;
pHarbourVars->ulLastLinePos = hb_comp_ulLastLinePos ;
pHarbourVars->iStaticCnt = hb_comp_iStaticCnt ;
pHarbourVars->iVarScope = hb_comp_iVarScope ;
pHarbourVars->EOL = hb_comp_EOL ;
pHarbourVars->pFileName = hb_comp_pFileName ;
pHarbourVars->buffer = hb_comp_buffer ;
pHarbourVars->yyout = yyout ;
pHarbourVars->yytext = yytext ;
pHarbourVars->yyleng = yyleng ;
pHarbourVars->yychar = yychar ;
pHarbourVars->yylval = yylval ;
#ifdef YYLSP_NEEDED
pHarbourVars->yylloc = yylloc ;
#endif
pHarbourVars->yynerrs = yynerrs ;
pHarbourVars->yy_buffer = hb_compGet_YY_CURRENT_BUFFER();
pHarbourVars->yy_start = hb_compGet_yy_start() ;
pHarbourVars->yy_init = hb_compGet_yy_init() ;
pHarbourVars->pLoops = hb_compGet_pLoops() ;
pHarbourVars->rtvars = hb_compGet_rtvars() ;
}
}
void hb_compRestoreVars( PHARBVARS pHarbourVars, int iScope )
{
if( iScope == 1 || iScope == 3 )
{
hb_comp_files = pHarbourVars->Files ;
hb_comp_iLine = pHarbourVars->iLine ;
yyin = pHarbourVars->yyin ;
}
if( iScope == 2 || iScope == 3 )
{
hb_comp_functions = pHarbourVars->Functions ;
hb_comp_funcalls = pHarbourVars->Funcalls ;
hb_comp_symbols = pHarbourVars->Symbols ;
hb_comp_pExterns = pHarbourVars->pExterns ;
hb_comp_pInitFunc = pHarbourVars->pInitFunc ;
hb_comp_bExternal = pHarbourVars->bExternal ;
hb_comp_szAnnounce = pHarbourVars->szAnnounce ;
hb_comp_bAnyWarning = pHarbourVars->bAnyWarning ;
hb_comp_iFunctionCnt = pHarbourVars->iFunctionCnt ;
hb_comp_iErrorCount = pHarbourVars->iErrorCount ;
hb_comp_cVarType = pHarbourVars->cVarType ;
hb_comp_ulLastLinePos = pHarbourVars->ulLastLinePos ;
hb_comp_iStaticCnt = pHarbourVars->iStaticCnt ;
hb_comp_iVarScope = pHarbourVars->iVarScope ;
hb_comp_EOL = pHarbourVars->EOL ;
hb_comp_pFileName = pHarbourVars->pFileName ;
hb_comp_buffer = pHarbourVars->buffer ;
yyout = pHarbourVars->yyout ;
yytext = pHarbourVars->yytext ;
yyleng = pHarbourVars->yyleng ;
yychar = pHarbourVars->yychar ;
yylval = pHarbourVars->yylval ;
#ifdef YYLSP_NEEDED
yylloc = pHarbourVars->yylloc ;
#endif
yynerrs = pHarbourVars->yynerrs ;
hb_compSet_YY_CURRENT_BUFFER( pHarbourVars->yy_buffer ) ;
hb_compSet_yy_start( pHarbourVars->yy_start ) ;
hb_compSet_yy_init( pHarbourVars->yy_init ) ;
hb_compSet_pLoops( pHarbourVars->pLoops ) ;
hb_compSet_rtvars( pHarbourVars->rtvars ) ;
}
}
#endif

View File

@@ -1895,45 +1895,3 @@ static int yy_ConvertNumber( char * szBuffer )
}
}
#ifdef HB_NESTED_COMPILE
void * hb_compGet_YY_CURRENT_BUFFER()
{
return YY_CURRENT_BUFFER;
}
void hb_compSet_YY_CURRENT_BUFFER( void * pBuffer )
{
YY_CURRENT_BUFFER = ( YY_BUFFER_STATE )pBuffer;
yy_load_buffer_state();
}
int hb_compGet_yy_init( void )
{
return yy_init;
}
void hb_compSet_yy_init( int i )
{
yy_init = i;
}
int hb_compGet_yy_start( void )
{
return yy_start;
}
void hb_compSet_yy_start( int i )
{
yy_start = i;
}
int hb_compGet_yy_did_buffer_switch_on_eof( void )
{
return yy_did_buffer_switch_on_eof;
}
void hb_compSet_yy_did_buffer_switch_on_eof( int i )
{
yy_did_buffer_switch_on_eof = i;
}
#endif

View File

@@ -2042,24 +2042,3 @@ static void hb_compVariableDim( char * szName, HB_EXPR_PTR pInitValue )
}
}
#ifdef HB_NESTED_COMPILE
void * hb_compGet_pLoops( void )
{
return (void *) hb_comp_pLoops;
}
void hb_compSet_pLoops( void * pLoops )
{
hb_comp_pLoops = (PTR_LOOPEXIT) pLoops;
}
void * hb_compGet_rtvars( void )
{
return (void *) hb_comp_rtvars;
}
void hb_compSet_rtvars( void * rtvars )
{
hb_comp_rtvars = (HB_RTVAR_PTR) rtvars;
}
#endif

View File

@@ -1396,14 +1396,10 @@ static int CommandStuff( char * ptrmp, char * inputLine, char * ptro, int * lenr
while( *ptrmp != '\0' );
}
//printf( "Line: >%s<\nOut: >%s<\nLen: %i Last: %c\n", inputLine, ptro, *lenres, ptro[(*lenres)-1] );
SearnRep( "\1","",0,ptro,lenres);
*(ptro + *lenres) = '\0';
*lenres = RemoveSlash( ptro ); /* Removing '\' from result string */
//printf( "*Line: >%s<\n*Out: >%s<\n*Len: %i Last: %c\n", inputLine, ptro, *lenres, ptro[(*lenres)-1] );
if( com_or_tra ) return 1; else return (ptri-inputLine);
}

View File

@@ -204,7 +204,7 @@ void hb_pp_Table( void )
static COMMANDS sC___92 = {0,"SET","DELIMITERS TO \1A00","Set( _SET_DELIMCHARS, \1A00 )",&sC___91 };
static COMMANDS sC___93 = {0,"SET","DELIMITERS TO DEFAULT","Set( _SET_DELIMCHARS, '::' )",&sC___92 };
static COMMANDS sC___94 = {0,"SET","DELIMITERS TO","Set( _SET_DELIMCHARS, '::' )",&sC___93 };
static COMMANDS sC___95 = {0,"SET","FORMAT TO \1A00","_ProcReq_( \1A30 + '.FMT' ) ; __SetFormat( {|| \1A00()} )",&sC___94 };
static COMMANDS sC___95 = {0,"SET","FORMAT TO \1A00","_ProcReq_( \1A30 + '.fmt' ) ; __SetFormat( {|| \1A00()} )",&sC___94 };
static COMMANDS sC___96 = {0,"SET","FORMAT TO \1A00.\1B00",
"_ProcReq_( \1A30 + '.' + \1B30 ) ; __SetFormat( {|| \1A00()} )",&sC___95 };
static COMMANDS sC___97 = {0,"SET","FORMAT TO \1A20&>",

View File

@@ -362,7 +362,7 @@ static ERRCODE defEvalBlock( AREAP pArea, PHB_ITEM pBlock )
HB_TRACE(HB_TR_DEBUG, ("defEvalBlock(%p, %p)", pArea, pBlock));
if( !pBlock || !HB_IS_BLOCK( pBlock ) )
if( ! pBlock || ! HB_IS_BLOCK( pBlock ) )
{
PHB_ITEM pError;
@@ -375,7 +375,7 @@ static ERRCODE defEvalBlock( AREAP pArea, PHB_ITEM pBlock )
}
pResult = hb_vmEvalBlock( pBlock );
if( !pArea->valResult )
if( ! pArea->valResult )
pArea->valResult = hb_itemNew( NULL );
hb_itemCopy( pArea->valResult, pResult );
@@ -384,8 +384,8 @@ static ERRCODE defEvalBlock( AREAP pArea, PHB_ITEM pBlock )
static ERRCODE defclearRel( AREAP pArea )
{
LPDBRELINFO lpdbRelations = pArea->lpdbRelations;
LPDBRELINFO lpdbRelPrev;
LPDBRELINFO lpdbRelations = pArea->lpdbRelations;
LPDBRELINFO lpdbRelPrev;
HB_TRACE(HB_TR_DEBUG, ("defclearRel(%p)", pArea ));
@@ -393,7 +393,7 @@ static ERRCODE defclearRel( AREAP pArea )
{
do
{
( ( AREAP ) lpdbRelations->lpaChild )->uiParents --;
( ( AREAP ) lpdbRelations->lpaChild )->uiParents--;
lpdbRelPrev = lpdbRelations;
lpdbRelations = lpdbRelations->lpdbriNext;
hb_xfree( lpdbRelPrev );
@@ -403,33 +403,38 @@ static ERRCODE defclearRel( AREAP pArea )
return SUCCESS;
}
static ERRCODE defsetRel( AREAP pArea, LPDBRELINFO lpdbRelInf )
static ERRCODE defsetRel( AREAP pArea, LPDBRELINFO lpdbRelInf )
{
LPDBRELINFO lpdbRelations;
LPDBRELINFO lpdbRelations;
( (AREAP) lpdbRelInf->lpaChild )->uiParents ++;
( ( AREAP ) lpdbRelInf->lpaChild )->uiParents++;
lpdbRelations = pArea->lpdbRelations;
if( ! lpdbRelations )
{
pArea->lpdbRelations = ( LPDBRELINFO ) hb_xgrab( sizeof( DBRELINFO ) );
lpdbRelations = pArea->lpdbRelations;
if( !lpdbRelations )
{
pArea->lpdbRelations = ( LPDBRELINFO ) hb_xgrab( sizeof( DBRELINFO ) );
lpdbRelations = pArea->lpdbRelations;
}
else
{
while( !lpdbRelations->lpdbriNext )
lpdbRelations = lpdbRelations->lpdbriNext;
lpdbRelations->lpdbriNext = ( LPDBRELINFO ) hb_xgrab( sizeof( DBRELINFO ) );
}
else
{
while( ! lpdbRelations->lpdbriNext )
lpdbRelations = lpdbRelations->lpdbriNext;
}
lpdbRelations->lpaChild = lpdbRelInf->lpaChild;
lpdbRelations->itmCobExpr = lpdbRelInf->itmCobExpr;
lpdbRelations->abKey = lpdbRelInf->abKey;
lpdbRelations->lpdbriNext = lpdbRelInf->lpdbriNext;
return SUCCESS;
lpdbRelations->lpdbriNext = ( LPDBRELINFO ) hb_xgrab( sizeof( DBRELINFO ) );
lpdbRelations = lpdbRelations->lpdbriNext;
}
lpdbRelations->lpaChild = lpdbRelInf->lpaChild;
lpdbRelations->itmCobExpr = lpdbRelInf->itmCobExpr;
lpdbRelations->abKey = lpdbRelInf->abKey;
lpdbRelations->lpdbriNext = lpdbRelInf->lpdbriNext;
return SUCCESS;
}
static ERRCODE defrelText( AREAP pArea, USHORT relNum, char* cExpr )
static ERRCODE defrelText( AREAP pArea, USHORT relNum, char * cExpr )
{
HB_SYMBOL_UNUSED( pArea );
HB_SYMBOL_UNUSED( relNum );
HB_SYMBOL_UNUSED( cExpr );
return SUCCESS;
}
@@ -437,7 +442,8 @@ static ERRCODE defFieldCount( AREAP pArea, USHORT * uiFields )
{
HB_TRACE(HB_TR_DEBUG, ("defFieldCount(%p, %p)", pArea, uiFields));
* uiFields = pArea->uiFieldCount;
*uiFields = pArea->uiFieldCount;
return SUCCESS;
}

View File

@@ -232,7 +232,6 @@ static int hb_ntxItemCompare( PHB_ITEM pKey1, PHB_ITEM pKey2 )
if( iResult == 0 )
{
EndPos += 1;
iResult = pKey1->item.asString.length -
pKey2->item.asString.length;
}
@@ -283,8 +282,6 @@ static ERRCODE hb_ntxPageAddPageKeyAdd( LPPAGEINFO pPage, PHB_ITEM pKey, int lev
pPage->pKeys[nEnd].Tag = pNewPage->Page;
memmove( pPage->pKeys + nBegin , pPage->pKeys + nEnd,
( pPage->uiKeys - nEnd ) * sizeof( KEYINFO ) + sizeof( pPage->pKeys->Tag ) );
//memset( pPage->pKeys + nBegin + nCount, 0 ,
//( pPage->uiKeys - nEnd ) * sizeof( KEYINFO ) + sizeof( pPage->pKeys->Tag ) );
pPage->uiKeys -= nCount;
pNewPage->uiKeys = nCount + 1;
pPage->Changed = TRUE;
@@ -335,7 +332,7 @@ static ERRCODE hb_ntxPageKeyAdd( LPPAGEINFO pPage, PHB_ITEM pKey, int level)
pLoadedPage = hb_ntxPageLoad( pPage, pPage->pKeys[i].Tag );
if( pLoadedPage == NULL )
{
// TODO : Error recovery ???
/* TODO : Error recovery ??? */
return FAILURE;
}
hb_ntxPageKeyAdd( pLoadedPage, pKey, level+1 );
@@ -357,7 +354,7 @@ static ERRCODE hb_ntxPageKeyAdd( LPPAGEINFO pPage, PHB_ITEM pKey, int level)
pLoadedPage = hb_ntxPageLoad( pPage, pPage->pKeys[i].Tag );
if( pLoadedPage == NULL )
{
// TODO : Error recovery ???
/* TODO : Error recovery ??? */
return FAILURE;
}
hb_ntxPageKeyAdd( pLoadedPage, pKey, level+1 );
@@ -755,9 +752,9 @@ static ERRCODE hb_ntxHeaderLoad( LPINDEXINFO pIndex , char *ITN)
pTag->KeyExpr = (char *) hb_xgrab( NTX_MAX_KEY );
strcpy( pTag->KeyExpr, Header.key_expr );
pTag->pKeyItem = pExpr;
pTag->AscendKey = 1;//fAscendKey;
pTag->AscendKey = 1; /* fAscendKey; */
pTag->UniqueKey = Header.unique;
pTag->KeyType = 'C';//bKeyType;
pTag->KeyType = 'C'; /* bKeyType; */
pTag->KeyLength = Header.key_size;
pTag->Owner = pIndex;
pTag->MaxKeys = Header.max_item;
@@ -798,9 +795,9 @@ static ERRCODE ntxOrderCreate( AREAP pArea, LPDBORDERCREATEINFO pOrderInfo )
PHB_ITEM pExpr, pResult, pError;
PHB_ITEM pKeyExp, pForExp;
HB_MACRO_PTR pExpMacro, pForMacro;
USHORT uiType, uiLen = 0;
USHORT uiType, uiLen;
char * szFileName, * szTagName;
LPINDEXINFO pIndex, pOldIndex;
LPINDEXINFO pIndex;
LPTAGINFO pTag;
PHB_FNAME pFileName;
DBORDERINFO pExtInfo;
@@ -982,7 +979,6 @@ static ERRCODE ntxOrderCreate( AREAP pArea, LPDBORDERCREATEINFO pOrderInfo )
pIndex = hb_ntxIndexNew( pArea );
pIndex->IndexName = szFileName;
pOldIndex = pArea->lpIndexInfo;
pArea->lpIndexInfo = pIndex;
pTag = hb_ntxTagNew( pIndex, szTagName, pOrderInfo->abExpr->item.asString.value,
pKeyExp, bType, uiLen, (char *) ( pArea->lpdbOrdCondInfo ? pArea->lpdbOrdCondInfo->abFor : NULL ),
@@ -1053,7 +1049,7 @@ static ERRCODE ntxOrderInfo( AREAP pArea, USHORT uiIndex, LPDBORDERINFO pInfo )
return SUCCESS;
}
}
//TODO: Raise recoverable error
/* TODO: Raise recoverable error */
break;
case DBOI_BAGNAME:
if( pArea->lpIndexInfo )

View File

@@ -46,7 +46,7 @@
#include "hbapifs.h"
#if defined( HB_OS_UNIX )
#include <sys/vfs.h>
#include <sys/vfs.h>
#endif
#ifdef HB_EXTENSION

View File

@@ -60,9 +60,6 @@ FUNCTION dbRecordInfo() ; RETURN NIL
FUNCTION dbFieldInfo() ; RETURN NIL
#endif
FUNCTION dbSetRelation() ; RETURN NIL
FUNCTION dbClearRelation() ; RETURN NIL
FUNCTION MLCToPos() ; RETURN 0
FUNCTION MPosToLC() ; RETURN 0

View File

@@ -149,7 +149,7 @@ void hb_errInit( void )
* NOTE: hb_itemClear() cannot be used to initialize an item because
* memory occupied by the item can contain garbage bits
*/
hb_itemInit( &s_errorBlock );
hb_itemInit( &s_errorBlock );
}
void hb_errExit( void )

View File

@@ -1,100 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* Base Class for internal handling of class creation
*
* Copyright 2000 Ron Pinkas <Ron@Profit-Master.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version, with one exception:
*
* The exception is that if you link the Harbour Runtime Library (HRL)
* and/or the Harbour Virtual Machine (HVM) with other files to produce
* an executable, this does not by itself cause the resulting executable
* to be covered by the GNU General Public License. Your use of that
* executable is in no way restricted on account of linking the HRL
* and/or HVM code into it.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS for A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
* their web site at http://www.gnu.org/).
*
*/
#include "hbstruc.ch"
//----------------------------------------------------------------------------//
Function HB_Structure( cStructureName AS Char, aMembers AS Array OF Char )
STRUCTURE HB_Structure cName AS Char, hId As Num
DECLARE __ClsNew( ClassName AS Char, N As Num ) AS Num
DECLARE __ClsAddMsg( H AS Num, Data AS Char, ID As Num, Type As Num ) AS Num
DECLARE __ClsInst( H AS Num ) AS Structure HB_Structure
LOCAL hStructure AS Num, nCounter AS Num, nMembers AS Num
STATIC asStructures AS Array OF Structure HB_Structure := {}
STATIC sStructure AS Stru HB_Structure
LOCAL hSelf As Num
cStructureName := Upper( cStructureName )
hStructure := aScan( asStructures, { |aStructure| aStructure:cName == cStructureName } )
IF aMembers == NIL
IF hStructure == 0
//hb_Structure( cStructureName, {} )
RETURN NIL //hb_Structure( cStructureName )
ELSE
RETURN __ClsInst( asStructures[ hStructure ]:hId )
ENDIF
ELSE
IF hStructure > 0
// Duplicate declaration
RETURN NIL
ENDIF
ENDIF
nMembers := Len( aMembers )
hStructure := __ClsNew( cStructureName, nMembers )
FOR nCounter := 1 TO nMembers
__clsAddMsg( hStructure, aMembers[nCounter], nCounter, 1 )
__clsAddMsg( hStructure, '_' + aMembers[nCounter], nCounter, 1 )
NEXT
IF sStructure == NIL
hSelf := __ClsNew( "HB_Structure", 2 )
__clsAddMsg( hSelf, "cName", 1, 1 )
__clsAddMsg( hSelf, "_cName", 1, 1 )
__clsAddMsg( hSelf, "hID", 2, 1 )
__clsAddMsg( hSelf, "_hID", 2, 1 )
sStructure := __ClsInst( hSelf )
ENDIF
sStructure:cName := cStructureName
sStructure:hId := hStructure
aAdd( asStructures, sStructure )
RETURN NIL //__clsInst( hStructure )

View File

@@ -367,7 +367,7 @@ METHOD SetFocus() CLASS TGet
::lEdit := .f.
if ::type == "N"
::decpos := At( iif( ::lDecRev .or. "E"$::cPicFunc, ",", "." ), ::buffer )
::decpos := At( iif( ::lDecRev .or. "E" $ ::cPicFunc, ",", "." ), ::buffer )
::minus := ( "-" $ ::buffer .or. "(" $ ::buffer )
else
::decpos := NIL

View File

@@ -14,7 +14,7 @@ PRG_SOURCES=\
gentrf.prg \
genng.prg \
genhtm.prg \
genchm.prg \
genchm.prg \
genrtf.prg \
genhpc.prg \
genasc.prg \

View File

@@ -66,9 +66,9 @@ PROCEDURE MAIN()
FWRITE( nOutput, hb_OSNewLine() )
FWRITE( nOutput, "//" )
FWRITE( nOutput, hb_OSNewLine() )
aFiles =DIRECTORY( aDirs[i] +PATH_SEPARATOR +"*.c" )
aFiles := DIRECTORY( aDirs[i] +PATH_SEPARATOR +"*.c" )
ProcessDir( nOutput, aFiles, aDirs[ i ] )
aFiles =DIRECTORY( aDirs[i] +PATH_SEPARATOR +"*.prg" )
aFiles := DIRECTORY( aDirs[i] +PATH_SEPARATOR +"*.prg" )
ProcessDir( nOutput, aFiles, aDirs[ i ] )
FWRITE( nOutput, "//" )
FWRITE( nOutput, REPLICATE( "-", 60) )
@@ -84,8 +84,8 @@ PROCEDURE ProcessDir( nOutput, aFiles, cDir )
LOCAL i, nLen
? "Files from ", cDir
nLen =LEN( aFiles )
FOR i:=1 TO nLen
nLen := LEN( aFiles )
FOR i := 1 TO nLen
FWRITE( nOutput, "//" )
FWRITE( nOutput, hb_OSNewLine() )
FWRITE( nOutput, "//symbols from file: " +Lower(cDir+ PATH_SEPARATOR +aFiles[i][ 1 ] ))
@@ -102,7 +102,7 @@ PROCEDURE ProcessFile( nOut, cFile )
? cFile
IF( AT( "INITSYMB.C", UPPER(cFile) ) == 0 )
nH =FOPEN( cFile )
nH := FOPEN( cFile )
IF( nH > 0 )
FILEEVAL( nH, 255, hb_OSNewLine(), {|c| Processline(nOut, c)} )
FCLOSE( nH )
@@ -114,22 +114,22 @@ PROCEDURE ProcessFile( nOut, cFile )
PROCEDURE ProcessLine( nOut, cLine )
LOCAL nPos
nPos =AT( "//", cLine )
nPos := AT( "//", cLine )
IF nPos > 0 .AND. nPos < 7
RETURN
ELSE
nPos =AT( "*", cLine )
nPos := AT( "*", cLine )
IF nPos > 0 .AND. nPos < 7
RETURN
ENDIF
ENDIF
nPos =AT( "HB_FUNC(", cLine )
nPos := AT( "HB_FUNC(", cLine )
IF nPos > 0
cLine = LTRIM( SUBSTR( cLine, nPos + Len("HB_FUNC(") ) )
nPos =AT( ")", cLine )
cLine := LTRIM( SUBSTR( cLine, nPos + Len("HB_FUNC(") ) )
nPos := AT( ")", cLine )
IF nPos > 0
cLine :=ALLTRIM( Left( cLine, nPos - 1 ) )
cLine := ALLTRIM( Left( cLine, nPos - 1 ) )
? cLine
IF (ISALPHA(cLine) .OR. cLine="_") .AND. ASCAN( aNames, {|c|c==cLine} ) == 0
AADD( aNames, cLine )
@@ -137,14 +137,14 @@ PROCEDURE ProcessLine( nOut, cLine )
ENDIF
ENDIF
ELSE
cLine =UPPER( cLine )
nPos =AT( "FUNCTION", cLine )
cLine := UPPER( cLine )
nPos := AT( "FUNCTION", cLine )
IF nPos > 0
IF( AT( "STATIC", cLine ) == 0 )
cLine = LTRIM( SUBSTR( cLine, nPos+8 ) )
nPos =AT( "(", cLine )
cLine := LTRIM( SUBSTR( cLine, nPos+8 ) )
nPos := AT( "(", cLine )
IF nPos > 0
cLine :=ALLTRIM( LEFT( cLine, nPos-1 ) )
cLine := ALLTRIM( LEFT( cLine, nPos-1 ) )
? cLine
IF (ISALPHA(cLine) .OR. cLine="_") .AND. !(" " $ cLine) .AND. ASCAN( aNames, {|c|c==cLine} ) == 0
AADD( aNames, cLine )
@@ -153,11 +153,11 @@ PROCEDURE ProcessLine( nOut, cLine )
ENDIF
ENDIF
ELSE
nPos =AT( "PROCEDURE", cLine )
nPos := AT( "PROCEDURE", cLine )
IF nPos > 0
IF AT( "STATIC", cLine ) == 0
cLine = LTRIM( SUBSTR( cLine, nPos+9 ) )
nPos =AT( "(", cLine )
cLine := LTRIM( SUBSTR( cLine, nPos+9 ) )
nPos := AT( "(", cLine )
IF nPos > 0
cLine :=ALLTRIM( LEFT( cLine, nPos-1 ) )
? cLine

View File

@@ -45,7 +45,7 @@ FUNCTION Main_MISC()
oError := ErrorNew()
TEST_LINE( oError:ClassName() , "ERROR" )
oError:Description = "Its description"
oError:Description := "Its description"
TEST_LINE( oError:Description , "Its description" )
#ifdef __CLIPPER__
TEST_LINE( Len( oError ) , 7 )