ChangeLog 20000320-13:10 GMT+1

This commit is contained in:
Ryszard Glab
2000-03-20 11:52:15 +00:00
parent 13b879d8cd
commit 7a1f91f3f5
7 changed files with 39 additions and 119 deletions

View File

@@ -1,3 +1,21 @@
20000320-13:10 GMT+1 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.y
* fixed compilation of empty files
*include/hbexpra.c
*include/hbexprb.c
*source/macro/macro.c
*fixed passing of the second parameter in hb_compGenPushSymbol
*source/rtl/gt/gtstd.c
*fixed to get a clean compile on Linux
*source/rtl/gt/gtcrs.c
*matching #endif added
*inkey.ch added again - we need these definitions to define the
keys translation table - TOFIX
20000319-01:35 EST Paul Tucker <ptucker@sympatico.ca>
* source/pp/ppcore.c
from 20000319-01:30 that didn't get posted.

View File

@@ -144,6 +144,7 @@ void hb_compExprErrorType( HB_EXPR_PTR pExpr, HB_MACRO_DECL )
{
HB_TRACE(HB_TR_DEBUG, ("hb_compExprErrorType()"));
hb_compErrorType( pExpr );
HB_SYMBOL_UNUSED( pExpr );
HB_SYMBOL_UNUSED( HB_MACRO_VARNAME );
}

View File

@@ -1355,7 +1355,7 @@ static HB_EXPR_FUNC( hb_compExprUseAlias )
case HB_EA_LVALUE:
break;
case HB_EA_PUSH_PCODE:
HB_EXPR_PCODE2( hb_compGenPushSymbol, pSelf->value.asSymbol, FALSE );
HB_EXPR_PCODE2( hb_compGenPushSymbol, pSelf->value.asSymbol, 0 );
break;
case HB_EA_POP_PCODE:
case HB_EA_PUSH_POP:

View File

@@ -241,6 +241,8 @@ char * hb_comp_szAnnounce = NULL; /* ANNOUNCEd procedure */
%%
Main : { hb_compLinePush(); } Source { }
| /* empty file */
;
Source : Crlf
| VarDefs

View File

@@ -836,10 +836,11 @@ void hb_compMemvarGenPCode( BYTE bPCode, char * szVarName, HB_MACRO_DECL )
}
/* generates the pcode to push a symbol on the virtual machine stack */
void hb_compGenPushSymbol( char * szSymbolName, HB_MACRO_DECL )
void hb_compGenPushSymbol( char * szSymbolName, int isFunction, HB_MACRO_DECL )
{
HB_DYNS_PTR pSym;
HB_SYMBOL_UNUSED( isFunction );
if( HB_MACRO_DATA->Flags & HB_MACRO_GEN_TYPE )
{
/* we are determining the type of expression (called from TYPE() function)
@@ -963,7 +964,7 @@ void hb_compGenPopAliasedVar( char * szVarName,
}
else
{ /* database alias */
hb_compGenPushSymbol( szAlias, HB_MACRO_PARAM );
hb_compGenPushSymbol( szAlias, 0, HB_MACRO_PARAM );
hb_compMemvarGenPCode( HB_P_MPOPALIASEDFIELD, szVarName, HB_MACRO_PARAM );
}
}
@@ -1062,7 +1063,7 @@ void hb_compGenPushAliasedVar( char * szVarName,
}
else
{ /* database alias */
hb_compGenPushSymbol( szAlias, HB_MACRO_PARAM );
hb_compGenPushSymbol( szAlias, 0, HB_MACRO_PARAM );
hb_compMemvarGenPCode( HB_P_MPUSHALIASEDFIELD, szVarName, HB_MACRO_PARAM );
}
}
@@ -1108,12 +1109,12 @@ void hb_compGenPushFunCall( char * szFunName, HB_MACRO_DECL )
{
/* Abbreviated function name was used - change it for whole name
*/
hb_compGenPushSymbol( szFunction, HB_MACRO_PARAM );
hb_compGenPushSymbol( szFunction, 0, HB_MACRO_PARAM );
}
else
{
HB_MACRO_DATA->status |= HB_MACRO_UDF; /* this is used in hb_macroGetType */
hb_compGenPushSymbol( szFunName, HB_MACRO_PARAM );
hb_compGenPushSymbol( szFunName, 0, HB_MACRO_PARAM );
}
}

View File

@@ -37,6 +37,7 @@
#include "hbapigt.h"
#include "hbinit.h"
#include "inkey.ch" /* TOFIX: define K_xxx constants somewhere in H file */
static void gt_GetMaxRC(int* r, int* c);
static void gt_GetRC(int* r, int* c);
@@ -84,6 +85,7 @@ static int iKeyTable[] =
#if defined(OS_UNIX_COMPATIBLE)
#include <unistd.h>
#include <termios.h>
#endif
static void restore_input_mode( void )
{

View File

@@ -40,6 +40,10 @@
#include "hbapifs.h"
#include "hbapigt.h"
#if defined( OS_UNIX_COMPATIBLE )
#include <unistd.h> /* read() function requires it */
#endif
static SHORT s_iRow;
static SHORT s_iCol;
static USHORT s_uiMaxRow;
@@ -73,6 +77,8 @@ void hb_gt_Done( void )
int hb_gt_ReadKey( HB_inkey_enum eventmask )
{
int ch;
HB_TRACE(HB_TR_DEBUG, ("hb_gt_ReadKey(%d)", (int) event_mask));
HB_SYMBOL_UNUSED( eventmask );
@@ -80,11 +86,13 @@ int hb_gt_ReadKey( HB_inkey_enum eventmask )
#if defined(OS_UNIX_COMPATIBLE)
if( ! read( STDIN_FILENO, &ch, 1 ) )
ch = 0;
#else
ch = 0;
#endif
/* TODO: */
return 0;
return ch;
}
BOOL hb_gt_AdjustPos( BYTE * pStr, ULONG ulLen )
@@ -345,115 +353,3 @@ void hb_gt_Tone( double dFrequency, double dDuration )
HB_SYMBOL_UNUSED( dDuration );
}
/*
BYTE pszBox[ 10 ];
USHORT uiRow;
USHORT uiCol;
USHORT width, height, tmp;
USHORT top, left, bottom, right, size = strlen( _B_SINGLE );
/* TODO: Would be better to support these cases, Clipper implementation */
/* was quite messy for these cases, which can be considered as */
/* a bug there. */
if( uiTop > uiMaxRow || uiBottom > uiMaxRow ||
uiLeft > uiMaxCol || uiRight > uiMaxCol )
{
return 1;
}
/* Force the box to be drawn from top left to bottom right */
if( top > bottom )
{
tmp = top;
top = bottom;
bottom = tmp;
}
if( left > right )
{
tmp = right;
right = left;
left = tmp;
}
width = right - left + 1;
height = bottom - top + 1;
/* Determine the box style */
if( ISCHAR( 5 ) )
{
pbyFrame = hb_parc( 5 );
size = hb_parclen( 5 );
}
else if( ISNUM( 5 ) )
{
switch( hb_parni( 5 ) )
{
case 2:
pbyFrame = _B_DOUBLE;
break;
case 3:
pbyFrame = _B_SINGLE_DOUBLE;
break;
case 4:
pbyFrame = _B_DOUBLE_SINGLE;
break;
default:
pbyFrame = _B_SINGLE;
}
size = strlen( pbyFrame );
}
/* We only need 9 characters from the source string */
if( size > 9 ) size = 9;
/* If we have at least one character... */
if( size )
/* ...copy the source string */
memcpy( pszBox, pbyFrame, size );
else
/* If not, set the first character to a space */
pszBox[ size++ ] = ' ';
/* If there were less than 8 characters in the source... */
for( ; size < 8; size++ )
{
/* ...copy the last character into the remaining 8 border positions */
pszBox[ size ] = pszBox[ size - 1 ];
}
/* If there were less than 9 characters in the source... */
if( size < 9 )
/* ...set the fill character to space */
pszBox[ 8 ] = ' ';
/* Draw the box */
hb_gtSetPos( top, left );
if( height > 1 && width > 1 )
fputc( pszBox[ 0 ], stdout ); /* Upper left corner */
for( uiCol = ( height > 1 ? left + 1 : left ); uiCol < ( height > 1 ? right : right + 1 ); uiCol++ )
fputc( pszBox[ 1 ], stdout ); /* Top line */
if( height > 1 && width > 1 )
fputc( pszBox[ 2 ], stdout ); /* Upper right corner */
for( uiRow = ( height > 1 ? top + 1 : top ); uiRow < ( width > 1 ? bottom : bottom + 1 ); uiRow++ )
{
hb_gtSetPos( uiRow, left );
if( height > 1 )
fputc( pszBox[ 3 ], stdout ); /* Left side */
if( height > 1 && width > 1 ) for( uiCol = left + 1; uiCol < right; uiCol++ )
fputc( pszBox[ 8 ], stdout ); /* Fill */
if( height > 1 && width > 1 )
fputc( pszBox[ 7 ], stdout ); /* Right side */
}
if( height > 1 && width > 1 )
{
hb_gtSetPos( bottom, left );
uiCol = left;
fputc( pszBox[ 6 ], stdout ); /* Bottom left corner */
for( uiCol = left + 1; uiCol < right; uiCol++ )
fputc( pszBox[ 5 ], stdout ); /* Bottom line */
fputc( pszBox[ 4 ], stdout ); /* Bottom right corner */
}
fflush( stdout );
hb_gtSetPos( bottom + 1, right + 1 );
*/