2010-02-11 12:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/direct.c
* int -> HB_SIZE
* contrib/hbwin/wapi_wingdi.c
! Fixed return value of WAPI_SELECTOBJECT()
* contrib/hbwin/tests/testdll.prg
+ Minor.
* contrib/hbwin/win_dll.c
! Fixed typo in byref parameter handling. Thanks to
Xavi for noticing it.
* Deleted unused union members from win32 retval support,
renamed the rest.
* utils/hbmk2/hbmk2.prg
+ Added -3rd= option. This is always ignored by hbmk2 and it
allows to store extra, non-hbmk2 information in hbmk2 make files.
F.e.: -3rd=-hbide_friendlyname=MyProject
This commit is contained in:
@@ -17,6 +17,27 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-02-11 12:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/direct.c
|
||||
* int -> HB_SIZE
|
||||
|
||||
* contrib/hbwin/wapi_wingdi.c
|
||||
! Fixed return value of WAPI_SELECTOBJECT()
|
||||
|
||||
* contrib/hbwin/tests/testdll.prg
|
||||
+ Minor.
|
||||
|
||||
* contrib/hbwin/win_dll.c
|
||||
! Fixed typo in byref parameter handling. Thanks to
|
||||
Xavi for noticing it.
|
||||
* Deleted unused union members from win32 retval support,
|
||||
renamed the rest.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added -3rd= option. This is always ignored by hbmk2 and it
|
||||
allows to store extra, non-hbmk2 information in hbmk2 make files.
|
||||
F.e.: -3rd=-hbide_friendlyname=MyProject
|
||||
|
||||
2010-02-11 04:25 UTC+0100 Xavi (jarabal/at/gmail.com)
|
||||
* contrib/hbwin/wapi_winbase.c
|
||||
+ Added wapi_GETSHORTPATHNAME()
|
||||
|
||||
@@ -108,6 +108,6 @@ PROCEDURE Main()
|
||||
? "DLLCALL"
|
||||
cData := Space( MAX_PATH )
|
||||
? DllCall( "shell32.dll", NIL, "SHGetFolderPath", 0, CSIDL_ADMINTOOLS, 0, 0, @cData )
|
||||
? cData
|
||||
? "REF:", cData
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -628,7 +628,7 @@ HB_FUNC( WAPI_SELECTOBJECT )
|
||||
{
|
||||
/* TODO: Solve reference counting to 'h' handle. Also for returned one. */
|
||||
if( bRegion )
|
||||
hb_retni( ( int ) SelectObject( hDC, h ) );
|
||||
wapi_ret_HANDLE( SelectObject( hDC, h ) );
|
||||
else
|
||||
hb_retl( SelectObject( hDC, h ) != NULL ); /* NOTE: We don't return a raw pointer. */
|
||||
}
|
||||
|
||||
@@ -132,12 +132,10 @@
|
||||
|
||||
typedef union
|
||||
{ /* Various result types */
|
||||
int Int; /* Generic four-byte type */
|
||||
long Long; /* Four-byte long */
|
||||
void * Pointer; /* 32-bit pointer */
|
||||
float Float; /* Four byte real */
|
||||
double Double; /* 8-byte real */
|
||||
__int64 int64; /* big int (64-bit) */
|
||||
int ret_int; /* Generic four-byte type */
|
||||
long ret_long; /* Four-byte long */
|
||||
float ret_float; /* Four byte real */
|
||||
double ret_double; /* 8-byte real */
|
||||
} HB_DYNRETVAL;
|
||||
|
||||
typedef struct
|
||||
@@ -266,8 +264,8 @@ static HB_DYNRETVAL hb_DynaCall( int iFlags, FARPROC lpFunction, int nArgs, HB_D
|
||||
}
|
||||
else if( pRet == NULL )
|
||||
{
|
||||
Res.Int = dwEAX;
|
||||
( &Res.Int )[ 1 ] = dwEDX;
|
||||
Res.ret_int = dwEAX;
|
||||
( &Res.ret_int )[ 1 ] = dwEDX;
|
||||
}
|
||||
else if( ( ( iFlags & DC_BORLAND ) == 0 ) && ( nRetSiz <= 8 ) )
|
||||
{
|
||||
@@ -575,7 +573,7 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE
|
||||
wcall.pArg = NULL;
|
||||
|
||||
for( tmp = 0; tmp < iParams; ++tmp )
|
||||
wcall.pArg[ tmp ].bByRef = HB_ISBYREF( iFirst + 1 + tmp );
|
||||
wcall.pArg[ tmp ].bByRef = HB_ISBYREF( iFirst + tmp );
|
||||
|
||||
switch( iParams )
|
||||
{
|
||||
@@ -601,7 +599,7 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE
|
||||
{
|
||||
if( wcall.pArg[ tmp ].bByRef )
|
||||
{
|
||||
switch( HB_ITEM_TYPE( hb_param( iFirst + 1 + tmp, HB_IT_ANY ) ) )
|
||||
switch( HB_ITEM_TYPE( hb_param( iFirst + tmp, HB_IT_ANY ) ) )
|
||||
{
|
||||
case HB_IT_LOGICAL:
|
||||
hb_storl( wcall.pArg[ tmp ].nValue != 0, tmp );
|
||||
@@ -788,7 +786,7 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE
|
||||
switch( iRtype )
|
||||
{
|
||||
case CTYPE_BOOL:
|
||||
hb_retl( rc.Long != 0 );
|
||||
hb_retl( rc.ret_long != 0 );
|
||||
break;
|
||||
|
||||
case CTYPE_VOID:
|
||||
@@ -797,30 +795,30 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE
|
||||
|
||||
case CTYPE_CHAR:
|
||||
case CTYPE_UNSIGNED_CHAR:
|
||||
hb_retni( ( char ) rc.Int );
|
||||
hb_retni( ( char ) rc.ret_int );
|
||||
break;
|
||||
|
||||
case CTYPE_SHORT:
|
||||
case CTYPE_UNSIGNED_SHORT:
|
||||
hb_retni( ( int ) rc.Int );
|
||||
hb_retni( ( int ) rc.ret_int );
|
||||
break;
|
||||
|
||||
case CTYPE_INT:
|
||||
hb_retni( ( int ) rc.Long );
|
||||
hb_retni( ( int ) rc.ret_long );
|
||||
break;
|
||||
|
||||
case CTYPE_LONG:
|
||||
hb_retnl( ( long ) rc.Long );
|
||||
hb_retnl( ( long ) rc.ret_long );
|
||||
break;
|
||||
|
||||
case CTYPE_CHAR_PTR:
|
||||
case CTYPE_UNSIGNED_CHAR_PTR:
|
||||
hb_retc( ( char * ) rc.Long );
|
||||
hb_retc( ( char * ) rc.ret_long );
|
||||
break;
|
||||
|
||||
case CTYPE_UNSIGNED_INT:
|
||||
case CTYPE_UNSIGNED_LONG:
|
||||
hb_retnint( ( unsigned long ) rc.Long );
|
||||
hb_retnint( ( unsigned long ) rc.ret_long );
|
||||
break;
|
||||
|
||||
case CTYPE_INT_PTR:
|
||||
@@ -832,15 +830,15 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE
|
||||
case CTYPE_VOID_PTR:
|
||||
case CTYPE_FLOAT_PTR:
|
||||
case CTYPE_DOUBLE_PTR:
|
||||
hb_retptr( ( void * ) rc.Long );
|
||||
hb_retptr( ( void * ) rc.ret_long );
|
||||
break;
|
||||
|
||||
case CTYPE_FLOAT:
|
||||
hb_retnd( rc.Float );
|
||||
hb_retnd( rc.ret_float );
|
||||
break;
|
||||
|
||||
case CTYPE_DOUBLE:
|
||||
hb_retnd( rc.Double );
|
||||
hb_retnd( rc.ret_double );
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -140,12 +140,12 @@ HB_FUNC( DIRECTORY )
|
||||
/* CA-Cl*pper compatible behavior - add all file mask when
|
||||
* last character is directory or drive separator
|
||||
*/
|
||||
int iLen = ( int ) strlen( szDirSpec ) - 1;
|
||||
HB_SIZE nLen = ( HB_SIZE ) strlen( szDirSpec ) - 1;
|
||||
#ifdef HB_OS_HAS_DRIVE_LETTER
|
||||
if( szDirSpec[ iLen ] == HB_OS_PATH_DELIM_CHR ||
|
||||
szDirSpec[ iLen ] == HB_OS_DRIVE_DELIM_CHR )
|
||||
if( szDirSpec[ nLen ] == HB_OS_PATH_DELIM_CHR ||
|
||||
szDirSpec[ nLen ] == HB_OS_DRIVE_DELIM_CHR )
|
||||
#else
|
||||
if( szDirSpec[ iLen ] == HB_OS_PATH_DELIM_CHR )
|
||||
if( szDirSpec[ nLen ] == HB_OS_PATH_DELIM_CHR )
|
||||
#endif
|
||||
{
|
||||
char * pszTemp = hb_xstrcpy( NULL, szDirSpec, HB_OS_ALLFILE_MASK, NULL );
|
||||
|
||||
@@ -1919,6 +1919,12 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
AAdd( l_aOPTRUN, cParam )
|
||||
ENDIF
|
||||
|
||||
CASE Left( cParamL, Len( "-3rd=" ) ) == "-3rd="
|
||||
|
||||
/* Silently ignore these. These options can be used to store options
|
||||
processed by other tools allowing them to keep additional information
|
||||
in hbmk2 script files. */
|
||||
|
||||
CASE Left( cParamL, Len( "-workdir=" ) ) == "-workdir="
|
||||
|
||||
cWorkDir := PathSepToTarget( hbmk, PathProc( MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, Len( "-workdir=" ) + 1 ) ), aParam[ _PAR_cFileName ] ), aParam[ _PAR_cFileName ] ) )
|
||||
@@ -8333,6 +8339,7 @@ STATIC PROCEDURE ShowHelp( lLong )
|
||||
{ "-aflag=<f>" , I_( "pass flag to linker (static library)" ) },;
|
||||
{ "-dflag=<f>" , I_( "pass flag to linker (dynamic library)" ) },;
|
||||
{ "-runflag=<f>" , I_( "pass flag to output executable when -run option is used" ) },;
|
||||
{ "-3rd=<f>" , I_( "options/flags reserved for 3rd party tools, always ignore by hbmk2 itself" ) },;
|
||||
{ "-jobs=<n>" , I_( "start n compilation threads (multiprocess platforms only)" ) },;
|
||||
{ "-inc" , I_( "enable incremental build mode" ) },;
|
||||
{ "-[no]head[=<m>]" , I_( "control source header parsing (in incremental build mode)\n<m> can be: native (uses compiler to extract dependencies), full (uses simple text parser on the whole file), partial (default, uses simple text parser on 1st 16KB chunk of the file), off" ) },;
|
||||
|
||||
Reference in New Issue
Block a user