see changelog (conflict)

This commit is contained in:
Eddie Runia
1999-06-04 17:14:20 +00:00
parent 867a03f9ab
commit 09b00e1fac
9 changed files with 107 additions and 3 deletions

View File

@@ -1,3 +1,9 @@
19990604-18:05 CET Jose Lalin (upload Eddie Runia)
* makefile.*
descend added
* source/rtl/descend.c; tests/working/descend.prg; source/vm/initsymb.c
descend added
19990604-12:00 EDT David G. Holm <dholm@jsd-llc.com>
* build31.bat
- Removed the non-portable fully qualified path that somebody added

View File

@@ -12,7 +12,7 @@
PROJECT: harbour.lib libs\b16\terminal.lib libs\win16\terminal.lib harbour.exe
harbour.lib : arrays.obj asort.obj classes.obj codebloc.obj dates.obj datesx.obj \
debug.obj dynsym.obj environ.obj error.obj \
debug.obj descend.obj dynsym.obj environ.obj error.obj \
errorapi.obj errorsys.obj extend.obj files.obj \
initsymb.obj itemapi.obj math.obj \
mathx.obj objfunc.obj set.obj stringp.obj strings.obj \
@@ -35,6 +35,7 @@ codebloc.obj : codebloc.c extend.h types.h
dates.obj : dates.c extend.h types.h
datesx.obj : datesx.c extend.h types.h
debug.obj : debug.c extend.h types.h
descend.obj : descend.c extend.h types.h
dynsym.obj : dynsym.c extend.h types.h
environ.obj : environ.c extend.h types.h
error.obj : error.c extend.h types.h

View File

@@ -16,7 +16,7 @@ c_opt = -mh -O2 -I.\include -DUSE_GTAPI
PROJECT: harbour.lib hbtools.lib terminal.lib libs\win16\terminal.lib harbour.exe
harbour.lib : arrays.obj asort.obj classes.obj codebloc.obj dates.obj \
dynsym.obj environ.obj error.obj \
descend.obj dynsym.obj environ.obj error.obj \
errorapi.obj errorsys.obj extend.obj \
files.obj gtapi.obj initsymb.obj itemapi.obj \
math.obj objfunc.obj \
@@ -46,6 +46,7 @@ asort.obj : asort.prg extend.h types.h init.h pcode.h harbour.exe
classes.obj : classes.c extend.h types.h itemapi.h
codebloc.obj : codebloc.c extend.h types.h
dates.obj : dates.c extend.h types.h dates.h set.h
descend.obj : descend.c extend.h types.h
environ.obj : environ.c extend.h types.h
error.obj : error.prg extend.h types.h init.h pcode.h harbour.exe
errorapi.obj : errorapi.c extend.h types.h ctoharb.h

View File

@@ -13,7 +13,7 @@
PROJECT: harbour.exe harbour.lib libs\b32\terminal.lib libs\win32\terminal.lib
harbour.lib : arrays.obj asort.obj classes.obj codebloc.obj dates.obj datesx.obj \
debug.obj dynsym.obj environ.obj error.obj \
debug.obj descend.obj dynsym.obj environ.obj error.obj \
errorapi.obj errorsys.obj extend.obj files.obj \
initsymb.obj itemapi.obj hb_f.obj\
math.obj mathx.obj objfunc.obj set.obj symbols.obj strings.obj \
@@ -43,6 +43,7 @@ codebloc.obj : codebloc.c extend.h types.h
dates.obj : dates.c extend.h types.h
datesx.obj : datesx.c extend.h types.h
debug.obj : debug.c extend.h types.h
descend.obj : descend.c extend.h types.h
dynsym.obj : dynsym.c extend.h types.h
environ.obj : environ.c extend.h types.h
error.obj : error.c extend.h types.h

View File

@@ -19,6 +19,7 @@ $(path_lib)\harbour.lib : $(path_obj)\arrays.obj \
$(path_obj)\classes.obj \
$(path_obj)\codebloc.obj \
$(path_obj)\console.obj \
$(path_obj)\descend.obj \
$(path_obj)\dates.obj \
$(path_obj)\dynsym.obj \
$(path_obj)\environ.obj \
@@ -78,6 +79,7 @@ $(path_obj)\classes.obj : {$(path_c)}classes.c $(path_h)\extend.h $(path_h)\ty
$(path_obj)\codebloc.obj : {$(path_c)}codebloc.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\itemapi.h
$(path_obj)\dates.obj : {$(path_c)}dates.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\dates.h $(path_h)\set.h
$(path_obj)\debug.obj : {$(path_c)}debug.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\ctoharb.h $(path_h)\itemapi.h
$(path_obj)\descend.obj : {$(path_c)}descend.c $(path_h)\extend.h $(path_h)\types.h
$(path_obj)\environ.obj : {$(path_c)}environ.c $(path_h)\extend.h $(path_h)\types.h
$(path_obj)\errorapi.obj : {$(path_c)}errorapi.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\ctoharb.h
$(path_obj)\extend.obj : {$(path_c)}extend.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\set.h

View File

@@ -48,6 +48,7 @@ HARBOUR_LIB_OBJS = \
$(OBJ_DIR)\codebloc.obj \
$(OBJ_DIR)\console.obj \
$(OBJ_DIR)\dates.obj \
$(OBJ_DIR)\descend.obj \
$(OBJ_DIR)\dynsym.obj \
$(OBJ_DIR)\environ.obj \
$(OBJ_DIR)\error.obj \
@@ -141,6 +142,9 @@ $(OBJ_DIR)\console.obj : $(RTL_DIR)\console.c
$(OBJ_DIR)\dates.obj : $(RTL_DIR)\dates.c
$(CC) $(CLIBFLAGS) -Fo$@ $**
$(OBJ_DIR)\descend.obj : $(RTL_DIR)\descend.c
$(CC) $(CLIBFLAGS) -Fo$@ $**
$(OBJ_DIR)\dynsym.obj : $(RTL_DIR)\dynsym.c
$(CC) $(CLIBFLAGS) -Fo$@ $**

View File

@@ -0,0 +1,53 @@
#include <extend.h>
#include <ctype.h>
void ProcessSymbols( SYMBOL *, WORD );
HARBOUR DESCEND();
static SYMBOL symbols[] = {
{ "DESCEND", FS_PUBLIC, DESCEND, 0 }
};
void Descend__InitSymbols( void )
{
ProcessSymbols( symbols, sizeof(symbols)/sizeof( SYMBOL ) );
}
char *hb_strdescend( char *string )
{
char *s;
if( string )
{
for( s = string; *s; ++s )
*s = 256 - *s;
}
return string;
}
HARBOUR DESCEND( void )
{
if( _pcount() == 1 )
{
PITEM pItem = _param(1, IT_ANY );
if( pItem )
{
if( IS_STRING( pItem ) )
_retc( hb_strdescend( pItem->value.szText ) );
else if( IS_DATE( pItem ) )
_retnl( 5231808 - pItem->value.lDate );
else if( IS_INTEGER( pItem ) )
_retnd( -1 * pItem->value.iNumber );
else if( IS_LONG( pItem ) )
_retnd( -1 * pItem->value.lNumber );
else if( IS_DOUBLE( pItem ) )
_retnd( -1 * pItem->value.dNumber );
else if( IS_LOGICAL( pItem ) )
_retl( !pItem->value.iLogical );
else
_retc( "NIL" );
}
}
}

View File

@@ -121,6 +121,7 @@ void InitSymbolTable( void )
* Place here your <modulename>__InitSymbols functions
*/
Classes__InitSymbols();
Descend__InitSymbols();
/*
* The system symbol table with runtime functions HAVE TO be called last

View File

@@ -0,0 +1,35 @@
#include "set.ch"
function main()
LOCAL dDate
QOut( Descend( "HARBOUR POWER & MAGIC" ) )
QOut( Descend( Descend( "HARBOUR POWER & MAGIC" ) ) )
QOut( Descend( .f. ) )
QOut( Descend( .t. ) )
QOut( Descend( 1 ) )
QOut( Descend( -1 ) )
QOut( Descend( Descend( 256 ) ) )
QOut( Descend( 2.5 ) )
QOut( Descend( -100.35 ) )
SET( _SET_DATEFORMAT, "dd/mm/yyyy" )
dDate := cToD( "31/12/2999" )
QOut( dDate, dtos( dDate ), Descend( dDate ) )
dDate := cToD( "1/1/0100" )
QOut( dDate, dtos( dDate ), Descend( dDate ) )
QOut( date(), dtos( date() ), Descend( date() ) )
QOut( date(), dtos( date() ), Descend( Descend( date() ) ) )
QOut( date()+1, dtos( date()+1 ), Descend( date()+1 ) )
QOut( date()+2, dtos( date()+2 ), Descend( date()+2 ) )
QOut( Asc( Descend( chr(0) ) ) )
QOut( Descend( { "A", "B" } ) )
QOut( Descend( nil ) )
return nil