diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 23f9e0a943..daa1064d48 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,36 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-02-11 09:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * source/rtl/gtwvt/gtwvt.c + * BYTE -> CHAR (Windows) - UNDONE. + + * include/hbdefs.h + + Added (commented) new types. Work in progress, incomplete. + + * contrib/hbssl/ssl.c + - Temporary disabled SSL_GET_READ_AHEAD() as a workaround for + BCC linking problem with SSL_get_read_ahead() OpenSSL + library function (symbol is unresolved due to missing + leading underscore in implib generated ssleay32.lib file). + + * source/vm/set.c + % hb_fsFile() -> hb_fsFileExists() + + * source/rtl/hbffind.c + * HB_WIN_32_MATCH -> HB_WIN_MATCH + + * doc/whatsnew.txt + * include/hbsetup.h + * source/vm/fm.c + * #define HB_FM_WIN32_ALLOC renamed to HB_FM_WIN_ALLOC. + ; INCOMPATIBLE: For those who are using this switch, please + update your make files. + + * source/rtl/tpopup.prg + ! Fixed to draw separator lines with BOX GT attributes, + so that they appear properly. + 2009-02-11 02:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/cmdarg.c diff --git a/harbour/contrib/hbssl/ssl.c b/harbour/contrib/hbssl/ssl.c index 910a4fe908..8ec7dd31f3 100644 --- a/harbour/contrib/hbssl/ssl.c +++ b/harbour/contrib/hbssl/ssl.c @@ -768,6 +768,7 @@ HB_FUNC( SSL_GET_SHUTDOWN ) hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#if 0 /* TOFIX: SSL_get_read_ahead is an unresolved external when trying to link with BCC */ HB_FUNC( SSL_GET_READ_AHEAD ) { if( hb_SSL_is( 1 ) ) @@ -780,6 +781,7 @@ HB_FUNC( SSL_GET_READ_AHEAD ) else hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#endif HB_FUNC( SSL_GET_STATE ) { diff --git a/harbour/doc/whatsnew.txt b/harbour/doc/whatsnew.txt index fa9bbe8787..9bc45316d9 100644 --- a/harbour/doc/whatsnew.txt +++ b/harbour/doc/whatsnew.txt @@ -36,6 +36,7 @@ General - POCC WinCE builds are now supported. - Open Watcom 1.8 (RC3) compiler is now supported. - Removed HB_LEGACY_LEVEL support. +- #define HB_FM_WIN32_ALLOC renamed to HB_FM_WIN_ALLOC. - Protected incompatible changes with HB_LEGACY_LEVEL2. (HB_SUCCESS, HB_FAILURE, HB_ERRCODE, HB_WINCE, HB_OS_WIN_32*, __RDDGETTEMPALIAS(), __HRB*()) diff --git a/harbour/include/hbdefs.h b/harbour/include/hbdefs.h index ffa1fa2d66..02aa959634 100644 --- a/harbour/include/hbdefs.h +++ b/harbour/include/hbdefs.h @@ -443,6 +443,46 @@ # define PFHL "l" #endif +#if 0 + +/* New Harbour types (Planning stage, don't use these yet) */ + +/* TODO: Remove dependence on old types */ + +typedef char hbChar; /* TOFIX */ +typedef SCHAR hbSChar; +typedef UCHAR hbUChar; +typedef short hbShort; +typedef unsigned short hbUShort; +typedef int hbInt; +typedef unsigned int hbUInt; +typedef long hbLong; +typedef unsigned long hbULong; +typedef LONGLONG hbLongLong; +typedef ULONGLONG hbULongLong; +typedef double hbDouble; +typedef hbMaxInt; /* TOFIX */ +typedef hbMaxDouble; /* TOFIX */ +typedef unsigned short hbCounter; +typedef long hbSize; +typedef HB_PTRDIFF hbPtrDiff; +typedef void * hbPtrVal; /* TOFIX */ +typedef hbPointer; /* TOFIX */ +typedef hbWChar; /* TOFIX */ + +typedef char hbI8; /* TOFIX */ +typedef UCHAR hbU8; /* TOFIX */ +typedef INT16 hbI16; +typedef UINT16 hbU16; +typedef INT32 hbI32; +typedef UINT32 hbU32; +typedef INT64 hbI64; +typedef UINT64 hbI64; + +typedef long hbMaxVMInt; /* TOFIX */ + +#endif + #define HB_DBL_LIM_INT(d) ( HB_INT_MIN <= (d) && (d) <= HB_INT_MAX ) #define HB_DBL_LIM_LONG(d) ( (HB_MAXDBL) HB_LONG_MIN <= (HB_MAXDBL) (d) && (HB_MAXDBL) (d) <= (HB_MAXDBL) HB_LONG_MAX ) #define HB_LIM_INT(l) ( HB_INT_MIN <= (l) && (l) <= HB_INT_MAX ) diff --git a/harbour/include/hbsetup.h b/harbour/include/hbsetup.h index 825928866d..fb13ec2148 100644 --- a/harbour/include/hbsetup.h +++ b/harbour/include/hbsetup.h @@ -169,7 +169,7 @@ * so you should really have a good reason to enable it */ -/* #define HB_FM_WIN32_ALLOC */ +/* #define HB_FM_WIN_ALLOC */ /* *********************************************************************** * You can select here, what type of main entry will be used in the diff --git a/harbour/source/rtl/gtwvt/gtwvt.c b/harbour/source/rtl/gtwvt/gtwvt.c index 84c97ae2b5..132db8078d 100644 --- a/harbour/source/rtl/gtwvt/gtwvt.c +++ b/harbour/source/rtl/gtwvt/gtwvt.c @@ -534,8 +534,8 @@ static void hb_gt_wvt_TranslateKey( PHB_GTWVT pWVT, int key, int shiftkey, int a static int hb_gt_wvt_key_ansi_to_oem( int c ) { - CHAR pszAnsi[ 2 ]; - CHAR pszOem[ 2 ]; + BYTE pszAnsi[ 2 ]; + BYTE pszOem[ 2 ]; pszAnsi[ 0 ] = ( CHAR ) c; pszAnsi[ 1 ] = 0; diff --git a/harbour/source/rtl/hbffind.c b/harbour/source/rtl/hbffind.c index 09331f9851..a07b8bacd4 100644 --- a/harbour/source/rtl/hbffind.c +++ b/harbour/source/rtl/hbffind.c @@ -129,7 +129,7 @@ DWORD dwAttr; } HB_FFIND_INFO, * PHB_FFIND_INFO; - #define HB_WIN_32_MATCH() \ + #define HB_WIN_MATCH() \ ( \ ( ( info->pFindFileData.dwFileAttributes & ( FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM ) ) == 0 ) || \ ( ( info->dwAttr & info->pFindFileData.dwFileAttributes & ( FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM ) ) != 0 ) \ @@ -570,7 +570,7 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind ) info->hFindFile = FindFirstFileA( ffind->pszFileMask, &info->pFindFileData ); info->dwAttr = ( DWORD ) hb_fsAttrToRaw( ffind->attrmask ); - if( ( info->hFindFile != INVALID_HANDLE_VALUE ) && HB_WIN_32_MATCH() ) + if( ( info->hFindFile != INVALID_HANDLE_VALUE ) && HB_WIN_MATCH() ) bFound = TRUE; } @@ -578,7 +578,7 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind ) { while( FindNextFileA( info->hFindFile, &info->pFindFileData ) ) { - if( HB_WIN_32_MATCH() ) + if( HB_WIN_MATCH() ) { bFound = TRUE; break; diff --git a/harbour/source/rtl/tpopup.prg b/harbour/source/rtl/tpopup.prg index 3b49bc3cf6..96ac82b558 100644 --- a/harbour/source/rtl/tpopup.prg +++ b/harbour/source/rtl/tpopup.prg @@ -57,11 +57,11 @@ #include "color.ch" #include "common.ch" -/* NOTE: Harbour doesn't support CA-Cl*pper 5.3 GUI functionality, but +/* NOTE: Harbour doesn't support CA-Cl*pper 5.3 GUI functionality, but it has all related variables and methods. */ -/* NOTE: CA-Cl*pper 5.3 uses a mixture of QQOut(), DevOut(), Disp*() - functions to generate screen output. Harbour uses Disp*() +/* NOTE: CA-Cl*pper 5.3 uses a mixture of QQOut(), DevOut(), Disp*() + functions to generate screen output. Harbour uses Disp*() functions only. [vszakats] */ #ifdef HB_COMPAT_C53 @@ -104,7 +104,7 @@ CREATE CLASS POPUPMENU FUNCTION HBPopUpMenu METHOD width() SETGET METHOD New( nTop, nLeft, nBottom, nRight ) /* NOTE: This method is a Harbour extension [vszakats] */ - + #ifdef HB_EXTENSION METHOD setCoors( nRow, nCol, lTop ) /* NOTE: This method is a Harbour extension [vszakats] */ METHOD isShortCut( nKey, nID ) /* NOTE: This method is a Harbour extension [vszakats] */ @@ -235,7 +235,7 @@ METHOD display() CLASS POPUPMENU IF aItems[ nPos ]:caption == MENU_SEPARATOR - hb_dispOutAt( nTop, nLeft - 1, SubStr( ::cBorder, 9, 1 ) + Replicate( SubStr( ::cBorder, 10, 1 ), nWidth ) + SubStr( ::cBorder, 11, 1 ), hb_ColorIndex( ::cColorSpec, 5 ) ) + hb_dispOutAtBox( nTop, nLeft - 1, SubStr( ::cBorder, 9, 1 ) + Replicate( SubStr( ::cBorder, 10, 1 ), nWidth ) + SubStr( ::cBorder, 11, 1 ), hb_ColorIndex( ::cColorSpec, 5 ) ) ELSE cCaption := PadR( aItems[ nPos ]:caption, nWidth - 1 ) diff --git a/harbour/source/vm/fm.c b/harbour/source/vm/fm.c index ba74700227..82bf2048f6 100644 --- a/harbour/source/vm/fm.c +++ b/harbour/source/vm/fm.c @@ -99,8 +99,8 @@ #if defined( HB_FM_STD_ALLOC ) #undef HB_FM_DL_ALLOC - #undef HB_FM_WIN32_ALLOC -#elif !defined( HB_FM_DL_ALLOC ) && !defined( HB_FM_WIN32_ALLOC ) + #undef HB_FM_WIN_ALLOC +#elif !defined( HB_FM_DL_ALLOC ) && !defined( HB_FM_WIN_ALLOC ) #if defined( _MSC_VER ) || defined( __BORLANDC__ ) || defined( __MINGW32__ ) #define HB_FM_DL_ALLOC #else @@ -113,7 +113,7 @@ #endif -/* #define HB_FM_WIN32_ALLOC */ +/* #define HB_FM_WIN_ALLOC */ /* #define HB_FM_STATISTICS */ /* #define HB_PARANOID_MEM_CHECK */ @@ -151,7 +151,7 @@ # define realloc( p, n ) dlrealloc( ( p ), ( n ) ) # define free( p ) dlfree( ( p ) ) # endif -#elif defined( HB_FM_WIN32_ALLOC ) && defined( HB_OS_WIN ) +#elif defined( HB_FM_WIN_ALLOC ) && defined( HB_OS_WIN ) # if defined( HB_FM_LOCALALLOC ) # define malloc( n ) ( void * ) LocalAlloc( LMEM_FIXED, ( n ) ) # define realloc( p, n ) ( void * ) LocalReAlloc( ( HLOCAL ) ( p ), ( n ), LMEM_MOVEABLE ) diff --git a/harbour/source/vm/set.c b/harbour/source/vm/set.c index f3d8756236..960ca2e71b 100644 --- a/harbour/source/vm/set.c +++ b/harbour/source/vm/set.c @@ -267,7 +267,7 @@ static HB_FHANDLE open_handle( PHB_SET_STRUCT pSet, const char * file_name, BOOL { if( bAppend ) { /* Append mode */ - if( hb_fsFile( ( BYTE * ) path ) ) + if( hb_fsFileExists( ( BYTE * ) path ) ) { /* If the file already exists, open it (in read-write mode, in case of non-Unix and text modes). */ handle = hb_fsOpen( ( BYTE * ) path, FO_READWRITE | FO_DENYWRITE );