2001-05-26 10:25 UTC-0800 Brian Hays <bhays@abacuslaw.com>
This commit is contained in:
@@ -1,14 +1,9 @@
|
||||
2001-05-26 21:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
|
||||
* contrib/dot/pp.prg
|
||||
! Fixed support for '$' in NextToken() and NextExp()
|
||||
+ Added nAtSkipStr() to exclude content of strings when searching for ';'
|
||||
! Fixed Multi Line logic to use nAtSkipStr() instead of At()
|
||||
+ Added infile C versions for NextToken() and NextIdentifier()
|
||||
+ Added precompiled rules for FiveWin.ch (Harbour)
|
||||
+ Added precompiled rules for RP_Run.ch.
|
||||
2001-05-26 10:25 UTC-0800 Brian Hays <bhays@abacuslaw.com>
|
||||
|
||||
* source/compiler/genc.c
|
||||
+ Added few #include files to generation of inline C.
|
||||
* source/rdd/dbcmd.c
|
||||
* Harrier's fix to APPEND FROM from a source file
|
||||
with a different structure than the target.
|
||||
Thanks, Harrier, it works!
|
||||
|
||||
2001-05-25 12:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
|
||||
* contrib/dot/pp.prg
|
||||
@@ -61,6 +56,18 @@
|
||||
|
||||
* contrib/dot/pp.txt
|
||||
* Updated documentation.
|
||||
valid Identifiers - Expansion forces a resacn from top.
|
||||
#[x]translates against all tokens - Expansion forces a resacn from top of #defines.
|
||||
#[x]command agains the first token - Expansion forces a resacn from top of #defines.
|
||||
! Corrected and refined many aspects of Interpreter mode.
|
||||
+ Added ExecuteMethod() and support for OO syntax.
|
||||
+ Added support for -I<includepaths...> command line switch.
|
||||
|
||||
* contrib/dot/rp_run.ch
|
||||
+ Added support for OO syntax.
|
||||
|
||||
* contrib/dot/pp.txt
|
||||
* Updated documentation.
|
||||
|
||||
/* PP Interpreter mode, is now capable of running code like this:
|
||||
//---------------------------//
|
||||
|
||||
@@ -3432,7 +3432,7 @@ static LPAREANODE GetTheOtherArea( char *szDriver, char * szFileName, BOOL creat
|
||||
}
|
||||
|
||||
/* move the Field Data between areas by name */
|
||||
static void rddMoveFields( AREAP pAreaFrom, AREAP pAreaTo, PHB_ITEM pFields )
|
||||
static void rddMoveFields( AREAP pAreaFrom, AREAP pAreaTo, PHB_ITEM pFields, BOOL bNameMatch )
|
||||
{
|
||||
USHORT i, f=1;
|
||||
PHB_ITEM fieldValue;
|
||||
@@ -3443,8 +3443,13 @@ static void rddMoveFields( AREAP pAreaFrom, AREAP pAreaTo, PHB_ITEM pFields )
|
||||
/* list or field in the list?*/
|
||||
if ( !pFields || IsFieldIn( (( PHB_DYNS )(pAreaFrom->lpFields + i)->sym )->pSymbol->szName, pFields ))
|
||||
{
|
||||
SELF_GETVALUE( pAreaFrom, i+1, fieldValue );
|
||||
SELF_PUTVALUE( pAreaTo, f++, fieldValue );
|
||||
if ( bNameMatch )
|
||||
f = hb_rddFieldIndex( pAreaTo, (( PHB_DYNS )(pAreaFrom->lpFields + i)->sym )->pSymbol->szName );
|
||||
if ( f )
|
||||
{
|
||||
SELF_GETVALUE( pAreaFrom, i+1, fieldValue );
|
||||
SELF_PUTVALUE( pAreaTo, f++, fieldValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
hb_itemRelease( fieldValue );
|
||||
@@ -3459,6 +3464,7 @@ static ERRCODE rddMoveRecords( char *cAreaFrom, char *cAreaTo, PHB_ITEM pFields,
|
||||
LONG toGo=lNext;
|
||||
BOOL bFor, bWhile;
|
||||
BOOL keepGoing=TRUE;
|
||||
BOOL bNameMatch=FALSE;
|
||||
AREAP pAreaFrom;
|
||||
AREAP pAreaTo;
|
||||
LPAREANODE pAreaRelease=NULL;
|
||||
@@ -3497,8 +3503,9 @@ static ERRCODE rddMoveRecords( char *cAreaFrom, char *cAreaTo, PHB_ITEM pFields,
|
||||
pAreaTo = (AREAP) s_pCurrArea->pArea;
|
||||
|
||||
|
||||
if ( cAreaFrom ) /*it's an APPEND FROM*/
|
||||
{ /*make it current*/
|
||||
if ( cAreaFrom ) /*it's an APPEND FROM*/
|
||||
{ /*make it current*/
|
||||
bNameMatch = TRUE; /*we pass fields by name */
|
||||
pAreaRelease = s_pCurrArea = GetTheOtherArea( szDriver, cAreaFrom, FALSE, NULL );
|
||||
pAreaFrom = (AREAP) pAreaRelease->pArea;
|
||||
}
|
||||
@@ -3541,7 +3548,7 @@ static ERRCODE rddMoveRecords( char *cAreaFrom, char *cAreaTo, PHB_ITEM pFields,
|
||||
if ( bFor )
|
||||
{
|
||||
SELF_APPEND( ( AREAP ) pAreaTo, FALSE ); /*put a new one on TO Area*/
|
||||
rddMoveFields( pAreaFrom, pAreaTo, pFields ); /*move the data*/
|
||||
rddMoveFields( pAreaFrom, pAreaTo, pFields, bNameMatch ); /*move the data*/
|
||||
}
|
||||
if ( lRec == 0 || pFor ) /*not only one record? Or there's a For clause?*/
|
||||
keepGoing = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user