From 1a78d17f3bfebb58f30b855fef50163aed757755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Tue, 7 Oct 2014 00:38:13 +0200 Subject: [PATCH] 2014-10-07 00:38 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbdefs.h * use strict aliasing friendly conversions in MSC builds which support intrinsic version of _byteswap_*() functions. It should also pacify some of MSC warnings. * include/hbdefs.h * src/rdd/dbffpt/dbffpt1.c * minor formatting * contrib/gtwvg/wvgcore.c ! fixed HANDLE to LONG casting - it's bug in 64 bit builds --- ChangeLog.txt | 13 ++ contrib/gtwvg/wvgcore.c | 4 +- include/hbdefs.h | 279 ++++++++++++++++++++------------------- src/rdd/dbffpt/dbffpt1.c | 6 +- 4 files changed, 158 insertions(+), 144 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 6f57a453c2..b72e8df3f2 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,19 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2014-10-07 00:38 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * include/hbdefs.h + * use strict aliasing friendly conversions in MSC builds which support + intrinsic version of _byteswap_*() functions. + It should also pacify some of MSC warnings. + + * include/hbdefs.h + * src/rdd/dbffpt/dbffpt1.c + * minor formatting + + * contrib/gtwvg/wvgcore.c + ! fixed HANDLE to LONG casting - it's bug in 64 bit builds + 2014-10-06 22:35 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbcomp.h * include/hbcompdf.h diff --git a/contrib/gtwvg/wvgcore.c b/contrib/gtwvg/wvgcore.c index 0f0b165995..9467a90f2e 100644 --- a/contrib/gtwvg/wvgcore.c +++ b/contrib/gtwvg/wvgcore.c @@ -2756,7 +2756,7 @@ HB_FUNC( WVT_LOADPICTUREEX ) hb_strfree( hImage ); if( iPicture ) { - hb_retnl( ( HB_PTRDIFF ) iPicture ); + hb_retnint( ( HB_PTRDIFF ) iPicture ); } #endif } @@ -2796,7 +2796,7 @@ HB_FUNC( WVT_LOADPICTUREFROMRESOURCEEX ) hb_strfree( hSection ); if( iPicture ) { - hb_retnl( ( HB_PTRDIFF ) iPicture ); + hb_retnint( ( HB_PTRDIFF ) iPicture ); } #endif } diff --git a/include/hbdefs.h b/include/hbdefs.h index 14c9e5fa8c..2aa4dccb66 100644 --- a/include/hbdefs.h +++ b/include/hbdefs.h @@ -72,7 +72,10 @@ defined( HB_OS_BSD ) || defined( HB_OS_SUNOS ) || \ defined( HB_OS_BEOS ) || defined( HB_OS_QNX ) || \ defined( HB_OS_VXWORKS ) || defined( HB_OS_MINIX ) ) ) - #include +# include +# if defined( _MSC_VER ) && _MSC_VER >= 1400 +# include +# endif /* NOTE: Hack to avoid collision between stdint.h and unistd.h. [vszakats] */ # if defined( HB_OS_VXWORKS ) && defined( _INTPTR ) && ! defined( _INTPTR_T ) # define _INTPTR_T @@ -806,13 +809,25 @@ typedef HB_U32 HB_FATTR; #endif /* Macros to store/retrieve integer and double values at/from byte address */ -#if defined( __GNUC__ ) +#if defined( __GNUC__ ) || ( defined( _MSC_VER ) && ( _MSC_VER >= 1400 ) ) # if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 3 ) ) && \ ! defined( __ICC ) && ! defined( __OPENCC__ ) && ! defined( __PCC__ ) -# define HB_BUILTIN_BSWAP 1 +# define HB_BUILTIN_BSWAP32( n ) __builtin_bswap32( n ) +# define HB_BUILTIN_BSWAP64( n ) __builtin_bswap64( n ) +# elif defined( _MSC_VER ) +# define HB_BUILTIN_BSWAP32( n ) _byteswap_ulong( n ) +# define HB_BUILTIN_BSWAP64( n ) _byteswap_uint64( n ) +# endif + +# if defined( _MSC_VER ) +# define _HB_CAST16 ( HB_U16 ) +# define _HB_CAST32 ( HB_U32 ) +# define _HB_CAST64 ( HB_U64 ) # else -# define HB_BUILTIN_BSWAP 0 +# define _HB_CAST16 +# define _HB_CAST32 +# define _HB_CAST64 # endif typedef union @@ -849,40 +864,41 @@ typedef HB_U32 HB_FATTR; { double val; HB_BYTE buf[ 8 ]; -# if ! defined( HB_LONG_LONG_OFF ) || defined( HB_ARCH_64BIT ) +# if ( ! defined( HB_LONG_LONG_OFF ) || defined( HB_ARCH_64BIT ) ) && \ + defined( HB_BUILTIN_BSWAP64 ) HB_U64 i64; # endif } HB_DBLCAST, * PHB_DBLCAST; - static __inline__ void * _hb_get_ptr( const HB_BYTE * buf ) + static HB_FORCEINLINE void * _hb_get_ptr( const HB_BYTE * buf ) { HB_PTRCAST u; memcpy( u.buf, buf, sizeof( void * ) ); return u.val; } - static __inline__ void _hb_put_ptr( HB_BYTE * buf, void * val ) + static HB_FORCEINLINE void _hb_put_ptr( HB_BYTE * buf, void * val ) { HB_PTRCAST u; u.val = val; memcpy( buf, u.buf, sizeof( void * ) ); } - static __inline__ HB_U16 _hb_get_std_uint16( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U16 _hb_get_std_uint16( const HB_BYTE * buf ) { HB_U16CAST u; memcpy( u.buf, buf, sizeof( u.buf ) ); return u.val; } - static __inline__ void _hb_put_std_uint16( HB_BYTE * buf, HB_U16 val ) + static HB_FORCEINLINE void _hb_put_std_uint16( HB_BYTE * buf, HB_U16 val ) { HB_U16CAST u; u.val = val; memcpy( buf, u.buf, sizeof( u.buf ) ); } - static __inline__ HB_U16 _hb_get_rev_uint16( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U16 _hb_get_rev_uint16( const HB_BYTE * buf ) { HB_U16CAST u; u.buf[ 0 ] = buf[ 1 ]; @@ -890,7 +906,7 @@ typedef HB_U32 HB_FATTR; return u.val; } - static __inline__ void _hb_put_rev_uint16( HB_BYTE * buf, HB_U16 val ) + static HB_FORCEINLINE void _hb_put_rev_uint16( HB_BYTE * buf, HB_U16 val ) { HB_U16CAST u; u.val = val; @@ -898,26 +914,26 @@ typedef HB_U32 HB_FATTR; buf[ 1 ] = u.buf[ 0 ]; } - static __inline__ HB_U32 _hb_get_std_uint32( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U32 _hb_get_std_uint32( const HB_BYTE * buf ) { HB_U32CAST u; memcpy( u.buf, buf, sizeof( u.buf ) ); return u.val; } - static __inline__ void _hb_put_std_uint32( HB_BYTE * buf, HB_U32 val ) + static HB_FORCEINLINE void _hb_put_std_uint32( HB_BYTE * buf, HB_U32 val ) { HB_U32CAST u; u.val = val; memcpy( buf, u.buf, sizeof( u.buf ) ); } - static __inline__ HB_U32 _hb_get_rev_uint32( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U32 _hb_get_rev_uint32( const HB_BYTE * buf ) { HB_U32CAST u; -# if HB_BUILTIN_BSWAP +# if defined( HB_BUILTIN_BSWAP32 ) memcpy( u.buf, buf, sizeof( u.buf ) ); - return __builtin_bswap32( u.val ); + return HB_BUILTIN_BSWAP32( u.val ); # else u.buf[ 0 ] = buf[ 3 ]; u.buf[ 1 ] = buf[ 2 ]; @@ -927,11 +943,11 @@ typedef HB_U32 HB_FATTR; # endif } - static __inline__ void _hb_put_rev_uint32( HB_BYTE * buf, HB_U32 val ) + static HB_FORCEINLINE void _hb_put_rev_uint32( HB_BYTE * buf, HB_U32 val ) { HB_U32CAST u; -# if HB_BUILTIN_BSWAP - u.val = __builtin_bswap32( val ); +# if defined( HB_BUILTIN_BSWAP32 ) + u.val = HB_BUILTIN_BSWAP32( val ); memcpy( buf, u.buf, sizeof( u.buf ) ); # else u.val = val; @@ -943,26 +959,26 @@ typedef HB_U32 HB_FATTR; } # if ! defined( HB_LONG_LONG_OFF ) || defined( HB_ARCH_64BIT ) - static __inline__ HB_U64 _hb_get_std_uint64( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U64 _hb_get_std_uint64( const HB_BYTE * buf ) { HB_U64CAST u; memcpy( u.buf, buf, sizeof( u.buf ) ); return u.val; } - static __inline__ void _hb_put_std_uint64( HB_BYTE * buf, HB_U64 val ) + static HB_FORCEINLINE void _hb_put_std_uint64( HB_BYTE * buf, HB_U64 val ) { HB_U64CAST u; u.val = val; memcpy( buf, u.buf, sizeof( u.buf ) ); } - static __inline__ HB_U64 _hb_get_rev_uint64( const HB_BYTE * buf ) + static HB_FORCEINLINE HB_U64 _hb_get_rev_uint64( const HB_BYTE * buf ) { HB_U64CAST u; -# if HB_BUILTIN_BSWAP +# if defined( HB_BUILTIN_BSWAP64 ) memcpy( u.buf, buf, sizeof( u.buf ) ); - return __builtin_bswap64( u.val ); + return HB_BUILTIN_BSWAP64( u.val ); # else u.buf[ 0 ] = buf[ 7 ]; u.buf[ 1 ] = buf[ 6 ]; @@ -976,11 +992,11 @@ typedef HB_U32 HB_FATTR; # endif } - static __inline__ void _hb_put_rev_uint64( HB_BYTE * buf, HB_U64 val ) + static HB_FORCEINLINE void _hb_put_rev_uint64( HB_BYTE * buf, HB_U64 val ) { HB_U64CAST u; -# if HB_BUILTIN_BSWAP - u.val = __builtin_bswap64( val ); +# if defined( HB_BUILTIN_BSWAP64 ) + u.val = HB_BUILTIN_BSWAP64( val ); memcpy( buf, u.buf, sizeof( u.buf ) ); # else u.val = val; @@ -996,27 +1012,27 @@ typedef HB_U32 HB_FATTR; } # endif - static __inline__ double _hb_get_std_double( const HB_BYTE * buf ) + static HB_FORCEINLINE double _hb_get_std_double( const HB_BYTE * buf ) { HB_DBLCAST u; memcpy( u.buf, buf, sizeof( u.buf ) ); return u.val; } - static __inline__ void _hb_put_std_double( HB_BYTE * buf, double val ) + static HB_FORCEINLINE void _hb_put_std_double( HB_BYTE * buf, double val ) { HB_DBLCAST u; u.val = val; memcpy( buf, u.buf, sizeof( u.buf ) ); } - static __inline__ double _hb_get_rev_double( const HB_BYTE * buf ) + static HB_FORCEINLINE double _hb_get_rev_double( const HB_BYTE * buf ) { HB_DBLCAST u; # if ( ! defined( HB_LONG_LONG_OFF ) || defined( HB_ARCH_64BIT ) ) && \ - HB_BUILTIN_BSWAP + defined( HB_BUILTIN_BSWAP64 ) memcpy( u.buf, buf, sizeof( u.buf ) ); - u.i64 = __builtin_bswap64( u.i64 ); + u.i64 = HB_BUILTIN_BSWAP64( u.i64 ); return u.val; # else u.buf[ 0 ] = buf[ 7 ]; @@ -1031,13 +1047,13 @@ typedef HB_U32 HB_FATTR; # endif } - static __inline__ void _hb_put_rev_double( HB_BYTE * buf, double val ) + static HB_FORCEINLINE void _hb_put_rev_double( HB_BYTE * buf, double val ) { HB_DBLCAST u; # if ( ! defined( HB_LONG_LONG_OFF ) || defined( HB_ARCH_64BIT ) ) && \ - HB_BUILTIN_BSWAP + defined( HB_BUILTIN_BSWAP64 ) u.val = val; - u.i64 = __builtin_bswap64( u.i64 ); + u.i64 = HB_BUILTIN_BSWAP64( u.i64 ); memcpy( buf, u.buf, sizeof( u.buf ) ); # else u.val = val; @@ -1060,38 +1076,38 @@ typedef HB_U32 HB_FATTR; # if defined( HB_BIG_ENDIAN ) # define HB_GET_BE_UINT16( p ) _hb_get_std_uint16( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT16( p, w ) _hb_put_std_uint16( ( HB_BYTE * ) ( p ), w ) +# define HB_PUT_BE_UINT16( p, w ) _hb_put_std_uint16( ( HB_BYTE * ) ( p ), _HB_CAST16 w ) # define HB_GET_BE_UINT32( p ) _hb_get_std_uint32( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT32( p, l ) _hb_put_std_uint32( ( HB_BYTE * ) ( p ), l ) +# define HB_PUT_BE_UINT32( p, l ) _hb_put_std_uint32( ( HB_BYTE * ) ( p ), _HB_CAST32 l ) # define HB_GET_BE_UINT64( p ) _hb_get_std_uint64( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT64( p, q ) _hb_put_std_uint64( ( HB_BYTE * ) ( p ), q ) +# define HB_PUT_BE_UINT64( p, q ) _hb_put_std_uint64( ( HB_BYTE * ) ( p ), _HB_CAST64 q ) # define HB_GET_LE_UINT16( p ) _hb_get_rev_uint16( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT16( p, w ) _hb_put_rev_uint16( ( HB_BYTE * ) ( p ), w ) +# define HB_PUT_LE_UINT16( p, w ) _hb_put_rev_uint16( ( HB_BYTE * ) ( p ), _HB_CAST16 w ) # define HB_GET_LE_UINT32( p ) _hb_get_rev_uint32( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT32( p, l ) _hb_put_rev_uint32( ( HB_BYTE * ) ( p ), l ) +# define HB_PUT_LE_UINT32( p, l ) _hb_put_rev_uint32( ( HB_BYTE * ) ( p ), _HB_CAST32 l ) # define HB_GET_LE_UINT64( p ) _hb_get_rev_uint64( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT64( p, q ) _hb_put_rev_uint64( ( HB_BYTE * ) ( p ), q ) +# define HB_PUT_LE_UINT64( p, q ) _hb_put_rev_uint64( ( HB_BYTE * ) ( p ), _HB_CAST64 q ) # else /* HB_LITTLE_ENDIAN */ # define HB_GET_BE_UINT16( p ) _hb_get_rev_uint16( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT16( p, w ) _hb_put_rev_uint16( ( HB_BYTE * ) ( p ), w ) +# define HB_PUT_BE_UINT16( p, w ) _hb_put_rev_uint16( ( HB_BYTE * ) ( p ), _HB_CAST16 w ) # define HB_GET_BE_UINT32( p ) _hb_get_rev_uint32( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT32( p, l ) _hb_put_rev_uint32( ( HB_BYTE * ) ( p ), l ) +# define HB_PUT_BE_UINT32( p, l ) _hb_put_rev_uint32( ( HB_BYTE * ) ( p ), _HB_CAST32 l ) # define HB_GET_BE_UINT64( p ) _hb_get_rev_uint64( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_BE_UINT64( p, q ) _hb_put_rev_uint64( ( HB_BYTE * ) ( p ), q ) +# define HB_PUT_BE_UINT64( p, q ) _hb_put_rev_uint64( ( HB_BYTE * ) ( p ), _HB_CAST64 q ) # define HB_GET_LE_UINT16( p ) _hb_get_std_uint16( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT16( p, w ) _hb_put_std_uint16( ( HB_BYTE * ) ( p ), w ) +# define HB_PUT_LE_UINT16( p, w ) _hb_put_std_uint16( ( HB_BYTE * ) ( p ), _HB_CAST16 w ) # define HB_GET_LE_UINT32( p ) _hb_get_std_uint32( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT32( p, l ) _hb_put_std_uint32( ( HB_BYTE * ) ( p ), l ) +# define HB_PUT_LE_UINT32( p, l ) _hb_put_std_uint32( ( HB_BYTE * ) ( p ), _HB_CAST32 l ) # define HB_GET_LE_UINT64( p ) _hb_get_std_uint64( ( const HB_BYTE * ) ( p ) ) -# define HB_PUT_LE_UINT64( p, q ) _hb_put_std_uint64( ( HB_BYTE * ) ( p ), q ) +# define HB_PUT_LE_UINT64( p, q ) _hb_put_std_uint64( ( HB_BYTE * ) ( p ), _HB_CAST64 q ) # endif -#else /* ! __GNUC__ */ +#else /* ! __GNUC__ || _MSC_VER < 1400 */ # define HB_GET_STD_DOUBLE( p ) hb_get_std_double( ( const HB_BYTE * ) ( p ) ) # define HB_GET_REV_DOUBLE( p ) hb_get_rev_double( ( const HB_BYTE * ) ( p ) ) @@ -1140,42 +1156,42 @@ typedef HB_U32 HB_FATTR; # else #define HB_GET_LE_UINT16( p ) ( ( HB_U16 ) \ - ( ( ( HB_U16 ) (( const HB_BYTE * )( p ))[0] ) | \ - ( ( HB_U16 ) (( const HB_BYTE * )( p ))[1] << 8 ) ) ) + ( ( ( HB_U16 ) (( const HB_BYTE * )( p ))[ 0 ] ) | \ + ( ( HB_U16 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) ) ) #define HB_GET_LE_UINT32( p ) ( ( HB_U32 ) \ - ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[0] ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[2] << 16 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[3] << 24 ) ) ) + ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 0 ] ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 2 ] << 16 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 3 ] << 24 ) ) ) #define HB_GET_LE_UINT64( p ) ( ( HB_U64 ) \ - ( ( ( HB_U64 ) (( const HB_BYTE * )( p ))[0] ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[2] << 16 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[3] << 24 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[4] << 32 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[5] << 40 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[6] << 48 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[7] << 56 ) ) ) + ( ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 0 ] ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 2 ] << 16 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 3 ] << 24 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 4 ] << 32 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 5 ] << 40 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 6 ] << 48 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 7 ] << 56 ) ) ) #define HB_PUT_LE_UINT16( p, w ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( w ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (w) >> 8 ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( w ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (w) >> 8 ); \ } while( 0 ) #define HB_PUT_LE_UINT32( p, l ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( l ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (l) >> 8 ); \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( (l) >> 16 ); \ - (( HB_BYTE * )( p ))[3] = ( HB_BYTE )( (l) >> 24 ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( l ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (l) >> 8 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( (l) >> 16 ); \ + (( HB_BYTE * )( p ))[ 3 ] = ( HB_BYTE )( (l) >> 24 ); \ } while( 0 ) #define HB_PUT_LE_UINT64( p, q ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( q ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (q) >> 8 ); \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( (q) >> 16 ); \ - (( HB_BYTE * )( p ))[3] = ( HB_BYTE )( (q) >> 24 ); \ - (( HB_BYTE * )( p ))[4] = ( HB_BYTE )( (q) >> 32 ); \ - (( HB_BYTE * )( p ))[5] = ( HB_BYTE )( (q) >> 40 ); \ - (( HB_BYTE * )( p ))[6] = ( HB_BYTE )( (q) >> 48 ); \ - (( HB_BYTE * )( p ))[7] = ( HB_BYTE )( (q) >> 56 ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( q ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (q) >> 8 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( (q) >> 16 ); \ + (( HB_BYTE * )( p ))[ 3 ] = ( HB_BYTE )( (q) >> 24 ); \ + (( HB_BYTE * )( p ))[ 4 ] = ( HB_BYTE )( (q) >> 32 ); \ + (( HB_BYTE * )( p ))[ 5 ] = ( HB_BYTE )( (q) >> 40 ); \ + (( HB_BYTE * )( p ))[ 6 ] = ( HB_BYTE )( (q) >> 48 ); \ + (( HB_BYTE * )( p ))[ 7 ] = ( HB_BYTE )( (q) >> 56 ); \ } while( 0 ) # endif @@ -1191,42 +1207,42 @@ typedef HB_U32 HB_FATTR; # else #define HB_GET_BE_UINT16( p ) ( ( HB_U16 ) \ - ( ( ( HB_U16 ) (( const HB_BYTE * )( p ))[0] << 8 ) | \ - ( ( HB_U16 ) (( const HB_BYTE * )( p ))[1] ) ) ) + ( ( ( HB_U16 ) (( const HB_BYTE * )( p ))[ 0 ] << 8 ) | \ + ( ( HB_U16 ) (( const HB_BYTE * )( p ))[ 1 ] ) ) ) #define HB_GET_BE_UINT32( p ) ( ( HB_U32 ) \ - ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[0] << 24 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[1] << 16 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[2] << 8 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[3] ) ) ) + ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 0 ] << 24 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 1 ] << 16 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 2 ] << 8 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 3 ] ) ) ) #define HB_GET_BE_UINT64( p ) ( ( HB_U64 ) \ - ( ( ( HB_U64 ) (( const HB_BYTE * )( p ))[0] << 56 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[1] << 48 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[2] << 40 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[3] << 32 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[4] << 24 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[5] << 16 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[6] << 8 ) | \ - ( ( HB_U64 ) (( const HB_BYTE * )( p ))[7] ) ) ) + ( ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 0 ] << 56 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 1 ] << 48 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 2 ] << 40 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 3 ] << 32 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 4 ] << 24 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 5 ] << 16 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 6 ] << 8 ) | \ + ( ( HB_U64 ) (( const HB_BYTE * )( p ))[ 7 ] ) ) ) #define HB_PUT_BE_UINT16( p, w ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( (w) >> 8 ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( w ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( (w) >> 8 ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( w ); \ } while( 0 ) #define HB_PUT_BE_UINT32( p, l ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( (l) >> 24 ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (l) >> 16 ); \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( (l) >> 8 ); \ - (( HB_BYTE * )( p ))[3] = ( HB_BYTE )( l ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( (l) >> 24 ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (l) >> 16 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( (l) >> 8 ); \ + (( HB_BYTE * )( p ))[ 3 ] = ( HB_BYTE )( l ); \ } while( 0 ) #define HB_PUT_BE_UINT64( p, q ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( (q) >> 56 ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (q) >> 48 ); \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( (q) >> 40 ); \ - (( HB_BYTE * )( p ))[3] = ( HB_BYTE )( (q) >> 32 ); \ - (( HB_BYTE * )( p ))[4] = ( HB_BYTE )( (q) >> 24 ); \ - (( HB_BYTE * )( p ))[5] = ( HB_BYTE )( (q) >> 16 ); \ - (( HB_BYTE * )( p ))[6] = ( HB_BYTE )( (q) >> 8 ); \ - (( HB_BYTE * )( p ))[7] = ( HB_BYTE )( q ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( (q) >> 56 ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (q) >> 48 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( (q) >> 40 ); \ + (( HB_BYTE * )( p ))[ 3 ] = ( HB_BYTE )( (q) >> 32 ); \ + (( HB_BYTE * )( p ))[ 4 ] = ( HB_BYTE )( (q) >> 24 ); \ + (( HB_BYTE * )( p ))[ 5 ] = ( HB_BYTE )( (q) >> 16 ); \ + (( HB_BYTE * )( p ))[ 6 ] = ( HB_BYTE )( (q) >> 8 ); \ + (( HB_BYTE * )( p ))[ 7 ] = ( HB_BYTE )( q ); \ } while( 0 ) # endif @@ -1366,32 +1382,32 @@ typedef HB_U32 HB_FATTR; * so we always have to build them from HB_BYTEs and cannot use C casting */ #define HB_GET_LE_INT24( p ) ( ( HB_I32 ) \ - ( ( ( HB_I32 ) (( const HB_BYTE * )( p ))[0] ) | \ - ( ( HB_I32 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_I32 ) (( const HB_BYTE * )( p ))[2] << 16 ) | \ - ( ( HB_I32 ) ((( const HB_BYTE * )( p ))[2] & 0x80 ? 0xFF : 0x00 ) << 24 ) ) ) + ( ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 0 ] ) | \ + ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 2 ] << 16 ) | \ + ( ( HB_I32 ) ((( const HB_BYTE * )( p ))[ 2 ] & 0x80 ? 0xFF : 0x00 ) << 24 ) ) ) #define HB_GET_LE_UINT24( p ) ( ( HB_U32 ) \ - ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[0] ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[2] << 16 ) ) ) + ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 0 ] ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 2 ] << 16 ) ) ) #define HB_PUT_LE_UINT24( p, u ) do { \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( u ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (u) >> 8 ); \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( (u) >> 16 ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( u ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (u) >> 8 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( (u) >> 16 ); \ } while( 0 ) #define HB_GET_BE_INT24( p ) ( ( HB_I32 ) \ - ( ( ( HB_I32 ) (( const HB_BYTE * )( p ))[2] ) | \ - ( ( HB_I32 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_I32 ) (( const HB_BYTE * )( p ))[0] << 16 ) | \ - ( ( HB_I32 ) ((( const HB_BYTE * )( p ))[0] & 0x80 ? 0xFF : 0x00 ) << 24 ) ) ) + ( ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 2 ] ) | \ + ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_I32 ) (( const HB_BYTE * )( p ))[ 0 ] << 16 ) | \ + ( ( HB_I32 ) ((( const HB_BYTE * )( p ))[ 0 ] & 0x80 ? 0xFF : 0x00 ) << 24 ) ) ) #define HB_GET_BE_UINT24( p ) ( ( HB_U32 ) \ - ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[2] ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[1] << 8 ) | \ - ( ( HB_U32 ) (( const HB_BYTE * )( p ))[0] << 16 ) ) ) + ( ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 2 ] ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 1 ] << 8 ) | \ + ( ( HB_U32 ) (( const HB_BYTE * )( p ))[ 0 ] << 16 ) ) ) #define HB_PUT_BE_UINT24( p, u ) do { \ - (( HB_BYTE * )( p ))[2] = ( HB_BYTE )( u ); \ - (( HB_BYTE * )( p ))[1] = ( HB_BYTE )( (u) >> 8 ); \ - (( HB_BYTE * )( p ))[0] = ( HB_BYTE )( (u) >> 16 ); \ + (( HB_BYTE * )( p ))[ 2 ] = ( HB_BYTE )( u ); \ + (( HB_BYTE * )( p ))[ 1 ] = ( HB_BYTE )( (u) >> 8 ); \ + (( HB_BYTE * )( p ))[ 0 ] = ( HB_BYTE )( (u) >> 16 ); \ } while( 0 ) @@ -1476,28 +1492,20 @@ typedef HB_U32 HB_FATTR; input to a module definition file. See emxdev.doc in the RSXNT doc/ directory for more information. */ #define HB_EXPORT_ATTR - #elif defined( __GNUC__ ) && defined( HB_OS_WIN ) #define HB_EXPORT_ATTR __attribute__ (( dllexport )) - #elif defined( __GNUC__ ) && defined( HB_OS_LINUX ) && __GNUC__ >= 3 #define HB_EXPORT_ATTR __attribute__ ((visibility ("default"))) - #elif defined( __BORLANDC__ ) #define HB_EXPORT_ATTR __declspec( dllexport ) - #elif defined( __WATCOMC__ ) #define HB_EXPORT_ATTR __declspec( dllexport ) - #elif defined( ASANLM ) || defined( ASANT ) #define HB_EXPORT_ATTR - #elif defined( HB_OS_WIN ) #define HB_EXPORT_ATTR _declspec( dllexport ) - #else #define HB_EXPORT_ATTR - #endif #if defined( HB_DYNLIB ) @@ -1515,25 +1523,18 @@ typedef HB_U32 HB_FATTR; input to a module definition file. See emxdev.doc in the RSXNT doc/ directory for more information. */ #define HB_IMPORT_ATTR - #elif defined( __GNUC__ ) && defined( HB_OS_WIN ) #define HB_IMPORT_ATTR __attribute__ (( dllimport )) - #elif defined( __BORLANDC__ ) #define HB_IMPORT_ATTR __declspec( dllimport ) - #elif defined( __WATCOMC__ ) #define HB_IMPORT_ATTR __declspec( dllimport ) - #elif defined( ASANLM ) || defined( ASANT ) #define HB_IMPORT_ATTR - #elif defined( HB_OS_WIN ) #define HB_IMPORT_ATTR _declspec( dllimport ) - #else #define HB_IMPORT_ATTR - #endif #define HB_IMPORT HB_IMPORT_ATTR diff --git a/src/rdd/dbffpt/dbffpt1.c b/src/rdd/dbffpt/dbffpt1.c index 5d50deec43..0e6f04a7e1 100644 --- a/src/rdd/dbffpt/dbffpt1.c +++ b/src/rdd/dbffpt/dbffpt1.c @@ -2848,10 +2848,10 @@ static HB_ERRCODE hb_fptGetMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pIt hb_itemPutDL( pItem, ( long ) HB_GET_LE_UINT32( pBuffer ) ); break; case FPTIT_FLEX_CHAR: - hb_itemPutNI( pItem, ( signed char ) pBuffer[0] ); + hb_itemPutNI( pItem, ( signed char ) pBuffer[ 0 ] ); break; case FPTIT_FLEX_UCHAR: - hb_itemPutNI( pItem, ( unsigned char ) pBuffer[0] ); + hb_itemPutNI( pItem, ( unsigned char ) pBuffer[ 0 ] ); break; case FPTIT_FLEX_SHORT: hb_itemPutNI( pItem, ( short ) HB_GET_LE_UINT16( pBuffer ) ); @@ -4813,7 +4813,7 @@ static HB_ERRCODE hb_fptPack( FPTAREAP pArea ) { HB_FOFFSET size = hb_fileSize( pArea->pMemoTmpFile ); HB_ULONG ulNextBlock; - HB_BYTE buffer[4]; + HB_BYTE buffer[ 4 ]; ulNextBlock = ( HB_ULONG ) ( ( size + pArea->ulNewBlockSize - 1 ) / pArea->ulNewBlockSize );