diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 663bf4f26a..89f975090d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,24 @@ +20000523-02:06 GMT+1 Victor Szakats + + * makefile.bc + * makefile.vc + * contrib/hbclip/hbclip.ch + * source/compiler/hbgenerr.c + * source/lang/Makefile + * source/lang/msgcs852.c + * source/lang/msgcsiso.c + * source/lang/msgcskam.c + * source/lang/msgsr852.c + * source/lang/msgsriso.c + * source/rtl/Makefile + * misc small corrections and fixes. + + * include/hbapi.h + * source/rtl/console.c + * source/rtl/xsavescr.c + ! Fixed memory leak when no __XRESTSCREEN() was called after an + __XSAVESCREEN() + 2000-05-22 18:15 GMT-4 David G. Holm * source/rtl/filesys.c diff --git a/harbour/contrib/hbclip/hbclip.ch b/harbour/contrib/hbclip/hbclip.ch index f684b88173..993af2588c 100644 --- a/harbour/contrib/hbclip/hbclip.ch +++ b/harbour/contrib/hbclip/hbclip.ch @@ -45,49 +45,48 @@ #ifndef __HARBOUR__ - #ifndef HB_CLIP_CH_ - #define HB_CLIP_CH_ +#ifndef HB_CLIP_CH_ +#define HB_CLIP_CH_ - /* TODO: Rewrite as much of these in C or Clipper */ +/* TODO: Rewrite as much of these in C or Clipper */ - #xtranslate HB_ARGCHECK( ) => ( .F. ) - #xtranslate HB_ARGSTRING( ) => "" - #xtranslate HB_FNAMESPLIT( ) => NIL - #xtranslate HB_FNAMEMERGE( [, [, [, ]]] ) => "" - #xtranslate HB_PVALUE( ) => NIL - #xtranslate HB_SETKEYGET( [][, ] ) => NIL - #xtranslate HB_SETKEYSAVE( [] ) => ( {} ) - #xtranslate HB_SETKEYCHECK( [, [, [, ]]] ) => ( .F. ) +#xtranslate HB_ARGCHECK( ) => ( .F. ) +#xtranslate HB_ARGSTRING( ) => "" +#xtranslate HB_FNAMESPLIT( ) => NIL +#xtranslate HB_FNAMEMERGE( [, [, [, ]]] ) => "" +#xtranslate HB_PVALUE( ) => NIL +#xtranslate HB_SETKEYGET( [][, ] ) => NIL +#xtranslate HB_SETKEYSAVE( [] ) => ( {} ) +#xtranslate HB_SETKEYCHECK( [, [, [, ]]] ) => ( .F. ) - #TRANSLATE AS ARRAY [OF ] => +#translate AS ARRAY [OF ] => - #TRANSLATE AS CHAR => - #TRANSLATE AS CHARACTER => - #TRANSLATE AS STRING => +#translate AS CHAR => +#translate AS CHARACTER => +#translate AS STRING => - #TRANSLATE AS CLASS => - #TRANSLATE AS STRU => - #TRANSLATE AS STRUCTURE => +#translate AS CLASS => +#translate AS STRU => +#translate AS STRUCTURE => - #TRANSLATE AS NUM => - #TRANSLATE AS NUMERIC => +#translate AS NUM => +#translate AS NUMERIC => - #TRANSLATE AS DATE => - #TRANSLATE AS BLOCK => +#translate AS DATE => +#translate AS BLOCK => - #TRANSLATE AS OBJ => - #TRANSLATE AS OBJECT => +#translate AS OBJ => +#translate AS OBJECT => - #TRANSLATE AS BOOL => - #TRANSLATE AS BOOLEAN => - #TRANSLATE AS LOG => - #TRANSLATE AS LOGICAL => +#translate AS BOOL => +#translate AS BOOLEAN => +#translate AS LOG => +#translate AS LOGICAL => - #TRANSLATE AS VAR => - #TRANSLATE AS VARIANT => +#translate AS VAR => +#translate AS VARIANT => - #COMMAND DECLARE <*x*> => - - #COMMAND STRUCTURE <*x*> => +#command DECLARE <*x*> => +#command STRUCTURE <*x*> => #endif diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index 23f5ce7027..8d037540cb 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -459,6 +459,7 @@ extern void hb_conOutStd( char * pStr, ULONG ulLen ); extern void hb_conOutErr( char * pStr, ULONG ulLen ); extern USHORT hb_conSetCursor( BOOL bSetCursor, USHORT usNewCursor ); extern char * hb_conSetColor( char * szColor ); +extern void hb_conXSaveRestRelease( void ); /* compiler and macro compiler */ extern char * hb_compReservedName( char * ); diff --git a/harbour/makefile.bc b/harbour/makefile.bc index 26c69c2037..b18528a267 100644 --- a/harbour/makefile.bc +++ b/harbour/makefile.bc @@ -305,6 +305,9 @@ RTL_LIB_OBJS = \ LANG_LIB_OBJS = \ $(OBJ_DIR)\msgca.obj \ + $(OBJ_DIR)\msgcs852.obj \ + $(OBJ_DIR)\msgcsiso.obj \ + $(OBJ_DIR)\msgcskam.obj \ $(OBJ_DIR)\msgen.obj \ $(OBJ_DIR)\msges.obj \ $(OBJ_DIR)\msgeu.obj \ @@ -319,13 +322,7 @@ LANG_LIB_OBJS = \ $(OBJ_DIR)\msgpt.obj \ $(OBJ_DIR)\msgro.obj \ $(OBJ_DIR)\msgsr852.obj \ - $(OBJ_DIR)\msgsriso.obj \ - $(OBJ_DIR)\msgcs852.obj \ - $(OBJ_DIR)\msgcsiso.obj \ - $(OBJ_DIR)\msgcskam.obj - - - + $(OBJ_DIR)\msgsriso.obj # # MACRO.LIB rules @@ -1587,6 +1584,18 @@ $(OBJ_DIR)\msgca.obj : $(LANG_DIR)\msgca.c $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** tlib $(LANG_LIB) $(ARFLAGS) -+$@,, +$(OBJ_DIR)\msgcs852.obj : $(LANG_DIR)\msgcs852.c + $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** + tlib $(LANG_LIB) $(ARFLAGS) -+$@,, + +$(OBJ_DIR)\msgcsiso.obj : $(LANG_DIR)\msgcsiso.c + $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** + tlib $(LANG_LIB) $(ARFLAGS) -+$@,, + +$(OBJ_DIR)\msgcskam.obj : $(LANG_DIR)\msgcskam.c + $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** + tlib $(LANG_LIB) $(ARFLAGS) -+$@,, + $(OBJ_DIR)\msgen.obj : $(LANG_DIR)\msgen.c $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** tlib $(LANG_LIB) $(ARFLAGS) -+$@,, @@ -1647,18 +1656,6 @@ $(OBJ_DIR)\msgsriso.obj : $(LANG_DIR)\msgsriso.c $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** tlib $(LANG_LIB) $(ARFLAGS) -+$@,, -$(OBJ_DIR)\msgcs852.obj : $(LANG_DIR)\msgcs852.c - $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** - tlib $(LANG_LIB) $(ARFLAGS) -+$@,, - -$(OBJ_DIR)\msgcsiso.obj : $(LANG_DIR)\msgcsiso.c - $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** - tlib $(LANG_LIB) $(ARFLAGS) -+$@,, - -$(OBJ_DIR)\msgcskam.obj : $(LANG_DIR)\msgcskam.c - $(CC) $(CLIBFLAGS) -I$(LANG_DIR) -o$@ $** - tlib $(LANG_LIB) $(ARFLAGS) -+$@,, - # # MACRO.LIB dependencies # diff --git a/harbour/makefile.vc b/harbour/makefile.vc index e90e3481d9..d2c5a69364 100644 --- a/harbour/makefile.vc +++ b/harbour/makefile.vc @@ -338,6 +338,9 @@ RTL_LIB_OBJS = \ LANG_LIB_OBJS = \ $(OBJ_DIR)\msgca.obj \ + $(OBJ_DIR)\msgcs852.obj \ + $(OBJ_DIR)\msgcsiso.obj \ + $(OBJ_DIR)\msgcskam.obj \ $(OBJ_DIR)\msgen.obj \ $(OBJ_DIR)\msges.obj \ $(OBJ_DIR)\msgeu.obj \ @@ -352,10 +355,7 @@ LANG_LIB_OBJS = \ $(OBJ_DIR)\msgpt.obj \ $(OBJ_DIR)\msgro.obj \ $(OBJ_DIR)\msgsr852.obj \ - $(OBJ_DIR)\msgsriso.obj \ - $(OBJ_DIR)\msgcs852.obj \ - $(OBJ_DIR)\msgcsiso.obj \ - $(OBJ_DIR)\msgcskam.obj + $(OBJ_DIR)\msgsriso.obj # # MACRO.LIB rules diff --git a/harbour/source/compiler/hbgenerr.c b/harbour/source/compiler/hbgenerr.c index 81dbf83c43..aca282a2b2 100644 --- a/harbour/source/compiler/hbgenerr.c +++ b/harbour/source/compiler/hbgenerr.c @@ -94,7 +94,7 @@ char * hb_comp_szWarnings[] = "1Ambiguous reference: \'%s\'", "1Ambiguous reference, assuming memvar: \'%s\'", "2Variable: \'%s\' declared but not used in function: \'%s\'", - "2CodeBlock Parameter: \'%s\' declared but not used in function: \'%s\'", + "2Codeblock Parameter: \'%s\' declared but not used in function: \'%s\'", "1RETURN statement with no return value in function", "1Procedure returns value", "1Function \'%s\' does not end with RETURN statement", @@ -107,14 +107,14 @@ char * hb_comp_szWarnings[] = "3Incompatible return type: \'%s\' expected: \'%s\'", "3Invalid number of parameters: %s expected: %s", "3Incompatible parameter # %s expected: \'%s\'", - "3Duplicate Declaration of %s \'%s\'", + "3Duplicate declaration of %s \'%s\'", "3Function \'%s\' conflicting with its declaration", "3Variable \'%s\' used but never initialized", "3Value of Variable \'%s\' never used", "3Incompatible type in assignment to declared array element expected: \'%s\'", "4Suspicious type in assignment to declared array element expected: \'%s\'", "3Class \'%s\' not known in declaration of \'%s\'", - "3Message \'%s\' not known in Class \'%s\'", + "3Message \'%s\' not known in class \'%s\'", "0Meaningless use of expression: \'%s\'", "2Unreachable code", "1Redundant \'ANNOUNCE %s\' statement ignored" diff --git a/harbour/source/lang/Makefile b/harbour/source/lang/Makefile index e628eecd15..51925a3bd3 100644 --- a/harbour/source/lang/Makefile +++ b/harbour/source/lang/Makefile @@ -6,6 +6,9 @@ ROOT = ../../ C_SOURCES=\ msgca.c \ + msgcs852.c \ + msgcsiso.c \ + msgcskam.c \ msgen.c \ msges.c \ msgeu.c \ @@ -21,9 +24,6 @@ C_SOURCES=\ msgro.c \ msgsr852.c \ msgsriso.c \ - msgcs852.c \ - msgcsiso.c \ - msgcskam.c \ LIBNAME=lang diff --git a/harbour/source/lang/msgcs852.c b/harbour/source/lang/msgcs852.c index 154750e1df..ecfbd90cee 100644 --- a/harbour/source/lang/msgcs852.c +++ b/harbour/source/lang/msgcs852.c @@ -187,4 +187,5 @@ HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_CS852 ) HB_CALL_ON_STARTUP_END( hb_lang_Init_CS852 ) #if ! defined(__GNUC__) && ! defined(_MSC_VER) #pragma startup hb_lang_Init_CS852 -#endif \ No newline at end of file +#endif + diff --git a/harbour/source/lang/msgcsiso.c b/harbour/source/lang/msgcsiso.c index 968f77a04a..f011233e79 100644 --- a/harbour/source/lang/msgcsiso.c +++ b/harbour/source/lang/msgcsiso.c @@ -187,4 +187,5 @@ HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_CSISO ) HB_CALL_ON_STARTUP_END( hb_lang_Init_CSISO ) #if ! defined(__GNUC__) && ! defined(_MSC_VER) #pragma startup hb_lang_Init_CSISO -#endif \ No newline at end of file +#endif + diff --git a/harbour/source/lang/msgcskam.c b/harbour/source/lang/msgcskam.c index ae3ea7f180..430f677fca 100644 --- a/harbour/source/lang/msgcskam.c +++ b/harbour/source/lang/msgcskam.c @@ -187,4 +187,5 @@ HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_CSKAM ) HB_CALL_ON_STARTUP_END( hb_lang_Init_CSKAM ) #if ! defined(__GNUC__) && ! defined(_MSC_VER) #pragma startup hb_lang_Init_CSKAM -#endif \ No newline at end of file +#endif + diff --git a/harbour/source/lang/msgsr852.c b/harbour/source/lang/msgsr852.c index 3fb540b9ac..d6c249a3a9 100644 --- a/harbour/source/lang/msgsr852.c +++ b/harbour/source/lang/msgsr852.c @@ -44,12 +44,12 @@ static HB_LANG s_lang = { /* Identification */ - "SR852", /* ID */ - "Serbian", /* Name (in English) */ + "SR852", /* ID */ + "Serbian", /* Name (in English) */ "Srpski", /* Name (in native language) */ - "SR", /* RFC ID */ - "852", /* Codepage */ - "$Revision$ $Date$", /* Version */ + "SR", /* RFC ID */ + "852", /* Codepage */ + "$Revision$ $Date$", /* Version */ /* Month names */ @@ -64,7 +64,7 @@ static HB_LANG s_lang = "Septembar", "Oktobar", "Novembar", - "Decembar" + "Decembar", /* Day names */ @@ -74,7 +74,7 @@ static HB_LANG s_lang = "Sreda", "¬etvrtak", "Petak", - "Subota" + "Subota", /* CA-Cl*pper compatible natmsg items */ diff --git a/harbour/source/lang/msgsriso.c b/harbour/source/lang/msgsriso.c index 7ec5640129..3ab7dc330b 100644 --- a/harbour/source/lang/msgsriso.c +++ b/harbour/source/lang/msgsriso.c @@ -48,8 +48,8 @@ static HB_LANG s_lang = "Serbian", /* Name (in English) */ "Srpski", /* Name (in native language) */ "SR", /* RFC ID */ - "ISO-8859-2", /* Codepage */ - "$Revision$ $Date$", /* Version */ + "ISO-8859-2", /* Codepage */ + "$Revision$ $Date$", /* Version */ /* Month names */ @@ -64,7 +64,7 @@ static HB_LANG s_lang = "Septembar", "Oktobar", "Novembar", - "Decembar" + "Decembar", /* Day names */ @@ -74,7 +74,7 @@ static HB_LANG s_lang = "Sreda", "Četvrtak", "Petak", - "Subota" + "Subota", /* CA-Cl*pper compatible natmsg items */ diff --git a/harbour/source/rtl/Makefile b/harbour/source/rtl/Makefile index b6527c2fd1..6936ff32d8 100644 --- a/harbour/source/rtl/Makefile +++ b/harbour/source/rtl/Makefile @@ -78,12 +78,12 @@ C_SOURCES=\ scroll.c \ seconds.c \ set.c \ - setcolor.c \ - setcurs.c \ - setkey.c \ - setpos.c \ - setposbs.c \ - shadow.c \ + setcolor.c \ + setcurs.c \ + setkey.c \ + setpos.c \ + setposbs.c \ + shadow.c \ soundex.c \ space.c \ str.c \ diff --git a/harbour/source/rtl/console.c b/harbour/source/rtl/console.c index ccca7e2bb3..6537e88531 100644 --- a/harbour/source/rtl/console.c +++ b/harbour/source/rtl/console.c @@ -139,6 +139,7 @@ void hb_conRelease( void ) s_szCrLf[ 1 ] = '\0'; hb_setkeyExit(); /* April White, May 6, 2000 */ + hb_conXSaveRestRelease(); hb_gtExit(); hb_mouseExit(); diff --git a/harbour/source/rtl/xsavescr.c b/harbour/source/rtl/xsavescr.c index a3c3f8e301..099b8fa268 100644 --- a/harbour/source/rtl/xsavescr.c +++ b/harbour/source/rtl/xsavescr.c @@ -53,6 +53,15 @@ static SHORT s_iRow; static SHORT s_iCol; static void * s_pBuffer = NULL; +void hb_conXSaveRestRelease( void ) +{ + if( s_pBuffer ) + { + hb_xfree( s_pBuffer ); + s_pBuffer = NULL; + }; +} + HB_FUNC( __XSAVESCREEN ) { if( s_pBuffer != NULL )