From 3e3398e565f74b46cd6f873bc777801af8d8e3d8 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 9 Aug 2009 08:16:09 +0000 Subject: [PATCH] 2009-08-09 10:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbxbp/tests/demoxbp.prg * Added hb_DirBase() to local file references, to make these work when no run from its own directory. ! Using test.dbf in tests. - contrib/hbxbp/tests/test.dbf - Deleted duplicated test.dbf. * contrib/hbtip/client.prg * HAVE_OPENSSL -> HAS_OPENSSL * contrib/hbwin/olecore.c * source/rtl/cdpapi.c * Minor formatting. --- harbour/ChangeLog | 26 +++++-- harbour/contrib/hbtip/client.prg | 28 +++---- harbour/contrib/hbwin/olecore.c | 2 +- harbour/contrib/hbxbp/tests/demoxbp.prg | 32 ++++---- harbour/contrib/hbxbp/tests/test.dbf | Bin 100387 -> 0 bytes harbour/source/rtl/cdpapi.c | 97 +++++++++++------------- 6 files changed, 96 insertions(+), 89 deletions(-) delete mode 100644 harbour/contrib/hbxbp/tests/test.dbf diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 71d34bbd4d..37d433687a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,12 +17,28 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-09 10:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbxbp/tests/demoxbp.prg + * Added hb_DirBase() to local file references, to make these + work when no run from its own directory. + ! Using test.dbf in tests. + + - contrib/hbxbp/tests/test.dbf + - Deleted duplicated test.dbf. + + * contrib/hbtip/client.prg + * HAVE_OPENSSL -> HAS_OPENSSL + + * contrib/hbwin/olecore.c + * source/rtl/cdpapi.c + * Minor formatting. + 2009-08-08 17:01 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbxbp/xbpbrowse.prg - + Implemented ::vScroll | ::hScroll | ::cursorMode - Xbase++ documentation suggests that changing these instance variables - required ::configure() be called explictly, but I have implemented that - the next stablization loop automatically take care of it. + + Implemented ::vScroll | ::hScroll | ::cursorMode + Xbase++ documentation suggests that changing these instance variables + required ::configure() be called explictly, but I have implemented that + the next stablization loop automatically take care of it. Suggestions ? * contrib/hbxbp/xbpstatic.prg @@ -31,7 +47,7 @@ * contrib/hbxbp/tests/demoxbp.prg + Rearrangeements of objects in tab pages. As the need for more space was growing - tab-pages now occupy the whole ::drawingarea and rest of the controls are + tab-pages now occupy the whole ::drawingarea and rest of the controls are now children of them. ! Demonstrated new instance variables implementation of XbpBrowse(). diff --git a/harbour/contrib/hbtip/client.prg b/harbour/contrib/hbtip/client.prg index d5ad6a9ad6..44a9cb5f50 100644 --- a/harbour/contrib/hbtip/client.prg +++ b/harbour/contrib/hbtip/client.prg @@ -78,7 +78,7 @@ #include "simpleio.ch" #endif -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) #include "hbssl.ch" #endif @@ -123,7 +123,7 @@ CREATE CLASS tIPClient VAR exGauge /* Gauge control; it can be a codeblock or a function pointer. */ VAR lTLS INIT .F. -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) VAR ssl_ctx VAR ssl VAR nSSLError INIT 0 @@ -187,7 +187,7 @@ METHOD New( oUrl, bTrace, oCredentials ) CLASS tIPClient IF ! ::bInitSocks hb_inetInit() -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) SSL_init() RAND_seed( Time() + hb_username() + DToS( Date() ) + hb_DirBase() + NetName() ) #endif @@ -198,7 +198,7 @@ METHOD New( oUrl, bTrace, oCredentials ) CLASS tIPClient oUrl := tUrl():New( oUrl ) ENDIF -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) IF oURL:cProto == "ftps" .OR. ; oURL:cProto == "https" .OR. ; oURL:cProto == "pops" .OR. ; @@ -279,7 +279,7 @@ METHOD EnableTLS( lEnable ) CLASS tIPClient RETURN .T. ENDIF -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) IF lEnable ::ssl_ctx := SSL_CTX_new() ::ssl := SSL_new( ::ssl_ctx ) @@ -363,7 +363,7 @@ METHOD Close() CLASS tIPClient nRet := hb_inetClose( ::SocketCon ) -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) IF ::lTLS SSL_shutdown( ::ssl ) ::ssl := NIL @@ -418,7 +418,7 @@ METHOD Read( nLen ) CLASS tIPClient cStr0 := Space( nLen ) IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) /* Getting around implementing the hack used in non-SSL branch for now. IMO the proper fix would have been done to hb_inetRecvAll(). [vszakats] */ ::nLastRead := ::InetRecvAll( ::SocketCon, @cStr0, nLen ) @@ -582,7 +582,7 @@ METHOD InetSendAll( SocketCon, cData, nLen ) CLASS tIPClient ENDIF IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) #if defined( _SSL_DEBUG_TEMP ) ? "SSL_WRITE()", cData #endif @@ -614,7 +614,7 @@ METHOD InetRecv( SocketCon, cStr1, len ) CLASS tIPClient LOCAL nRet IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) #if defined( _SSL_DEBUG_TEMP ) ? "SSL_READ()" #endif @@ -637,7 +637,7 @@ METHOD InetRecvLine( SocketCon, nRet, size ) CLASS tIPClient LOCAL cRet IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) nRet := hb_SSL_read_line( ::ssl, @cRet, size, ::nConnTimeout ) #if defined( _SSL_DEBUG_TEMP ) ? "HB_SSL_READ_LINE()", cRet @@ -664,7 +664,7 @@ METHOD InetRecvAll( SocketCon, cRet, size ) CLASS tIPClient LOCAL nRet IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) nRet := hb_SSL_read_all( ::ssl, @cRet, size, ::nConnTimeout ) #if defined( _SSL_DEBUG_TEMP ) ? "HB_SSL_READ_ALL()", cRet @@ -691,7 +691,7 @@ METHOD InetErrorCode( SocketCon ) CLASS tIPClient LOCAL nRet IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) nRet := iif( ::nSSLError == 0, 0, SSL_get_error( ::ssl, ::nSSLError ) ) #else nRet := 0 @@ -715,7 +715,7 @@ METHOD InetErrorDesc( SocketCon ) CLASS tIPClient IF ! Empty( SocketCon ) IF ::lTLS -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) IF ::nSSLError != 0 cMsg := ERR_error_string( SSL_get_error( ::ssl, ::nSSLError ) ) ENDIF @@ -740,7 +740,7 @@ METHOD InetConnect( cServer, nPort, SocketCon ) CLASS tIPClient ::InetRcvBufSize( SocketCon, ::nDefaultRcvBuffSize ) ENDIF -#if defined( HAVE_OPENSSL ) +#if defined( HAS_OPENSSL ) IF ::lTLS SSL_set_mode( ::ssl, HB_SSL_MODE_AUTO_RETRY ) SSL_set_fd( ::ssl, hb_inetFD( SocketCon ) ) diff --git a/harbour/contrib/hbwin/olecore.c b/harbour/contrib/hbwin/olecore.c index 2d19da285d..4e7d9b439b 100644 --- a/harbour/contrib/hbwin/olecore.c +++ b/harbour/contrib/hbwin/olecore.c @@ -459,7 +459,7 @@ static void PutParams( DISPPARAMS * dispparam ) { PHB_ITEM pItem = hb_itemNew( NULL ); - hb_oleVariantToItem( pItem, & dispparam->rgvarg[ uiArg ] ); + hb_oleVariantToItem( pItem, &dispparam->rgvarg[ uiArg ] ); hb_itemParamStoreForward( ( USHORT ) uiArg + 1, pItem ); } diff --git a/harbour/contrib/hbxbp/tests/demoxbp.prg b/harbour/contrib/hbxbp/tests/demoxbp.prg index edc1c36570..ef3143bdb6 100644 --- a/harbour/contrib/hbxbp/tests/demoxbp.prg +++ b/harbour/contrib/hbxbp/tests/demoxbp.prg @@ -405,10 +405,10 @@ FUNCTION Build_ToolBar( oDA ) /* Harbour does not support resource IDs so giving bitmap files */ #ifdef __HARBOUR__ - oTBar:addItem( "Save" , "new.png" , , , , , "1" ) - oTBar:addItem( "Open" , "open.png", , , , , "2" ) - oTBar:addItem( "Font Dialog", "copy.png", , , , , "3" ) - oTBar:addItem( "Print Dialog", "print.png", , , , , "4" ) + oTBar:addItem( "Save" , hb_DirBase() + "new.png" , , , , , "1" ) + oTBar:addItem( "Open" , hb_DirBase() + "open.png" , , , , , "2" ) + oTBar:addItem( "Font Dialog" , hb_DirBase() + "copy.png" , , , , , "3" ) + oTBar:addItem( "Print Dialog", hb_DirBase() + "print.png", , , , , "4" ) #else oTBar:addItem( "Save" )//, 100 ) @@ -454,7 +454,7 @@ FUNCTION Build_StatusBar( oWnd ) #ifdef __XPP__ oSBar:setPointer( , XBPSTATIC_SYSICON_SIZEWE, XBPWINDOW_POINTERTYPE_SYSPOINTER ) #else - oSBar:setPointer( , 'vr.png', XBPWINDOW_POINTERTYPE_ICON ) + oSBar:setPointer( , hb_DirBase() + "vr.png", XBPWINDOW_POINTERTYPE_ICON ) #endif RETURN nil @@ -684,7 +684,7 @@ STATIC FUNCTION Build_ComboBox( oWnd ) oCombo:addItem( aDays[ i ] ) #ifdef __HARBOUR__ /* the command below is not Xbase++ compatible - will be documented while extended */ - oCombo:setIcon( i, aPNG[ i ]+".png" ) + oCombo:setIcon( i, hb_DirBase() + aPNG[ i ] + ".png" ) #endif NEXT @@ -705,7 +705,7 @@ FUNCTION Build_PushButton( oDA ) oXbp:setColorBG( GraMakeRGBColor( {0,0,255} ) ) oXbp := XbpPushButton():new( oDA ) - oXbp:caption := "new.png" + oXbp:caption := hb_DirBase() + "new.png" oXbp:create( , , {290,200}, {90,40} ) oXbp:activate:= {|| MsgBox( "Pushbutton B" ) } /* Harbour supports presentation colors */ @@ -876,7 +876,7 @@ PROCEDURE WorkAreaInfo( oTree, iIndex ) oArea:addItem( oStatus ) #ifdef __HARBOUR__ - oArea:setImage( "copy.png" ) + oArea:setImage( hb_DirBase() + "copy.png" ) #endif // Create XbpTreeViewItem implicitly (2nd possibility) @@ -940,7 +940,7 @@ FUNCTION Build_Statics( oWnd ) oGrp:setColorFG( GraMakeRGBColor( { 0,255,255 } ) ) oGrp:setColorBG( GraMakeRGBColor( { 134,128,220 } ) ) #ifdef __HARBOUR__ - oGrp:setPointer( , 'abs3.png', XBPWINDOW_POINTERTYPE_ICON ) + oGrp:setPointer( , hb_DirBase() + "abs3.png", XBPWINDOW_POINTERTYPE_ICON ) #endif oLbl := XbpStatic():new( oWnd, , {10,10}, {240,30} ) @@ -1034,7 +1034,7 @@ FUNCTION Build_Statics( oWnd ) oBox:type := XBPSTATIC_TYPE_BITMAP oBox:options := XBPSTATIC_BITMAP_SCALED oBmp := XbpBitmap():new():create() - oBmp:loadFile( 'paste.png' ) + oBmp:loadFile( hb_DirBase() + "paste.png" ) oBox:caption := oBmp oBox:create() oBox:setColorBG( GraMakeRGBColor( { 0,100,100 } ) ) @@ -1043,10 +1043,10 @@ FUNCTION Build_Statics( oWnd ) oBox:type := XBPSTATIC_TYPE_BITMAP oBox:options := XBPSTATIC_BITMAP_TILED #ifdef __HARBOUR__ - oBox:caption := 'cut.png' + oBox:caption := hb_DirBase() + "cut.png" #else oBmp1 := XbpBitmap():new():create() - oBmp1:loadFile( 'paste.png' ) + oBmp1:loadFile( hb_DirBase() + "paste.png" ) oBox:caption := oBmp1 #endif oBox:create() @@ -1056,7 +1056,7 @@ FUNCTION Build_Statics( oWnd ) #ifdef __HARBOUR__ /* Differes from Xbase++ by Disk File | Resource Name, ID */ oBox := XbpStatic():new( oGrp, , {nC4,nT+(nH+nG)*3}, {nW,nH} ) oBox:type := XBPSTATIC_TYPE_ICON - oBox:caption := "vr.png" + oBox:caption := hb_DirBase() + "vr.png" oBox:create() oBox:setColorBG( GraMakeRGBColor( { 255,255,187 } ) ) #endif @@ -1400,7 +1400,7 @@ STATIC FUNCTION RtfInsertImage( oRtf ) // Proivide a selection dialog cFile := GetAnImageFile( oRtf, 'Select Image to be Inserted' ) IF empty( cFile ) - oRtf:insertImage( "abs3.png" ) + oRtf:insertImage( hb_DirBase() + "abs3.png" ) ELSE oRtf:insertImage( cFile ) ENDIF @@ -1469,7 +1469,8 @@ FUNCTION Build_Browse( oWnd ) Set( _SET_DATEFORMAT, "MM/DD/YYYY" ) - USE "test.dbf" NEW SHARED VIA 'DBFCDX' + USE ( ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "tests" + hb_osPathSeparator() +; + "test.dbf" ) NEW SHARED VIA 'DBFCDX' DbGotop() oXbpBrowse := XbpBrowse():new():create( oWnd, , { 10,10 }, { oWnd:currentSize()[1]-25,oWnd:currentSize()[2]-45 } ) @@ -1665,4 +1666,3 @@ STATIC FUNCTION TBPrev() RETURN lMoved /*----------------------------------------------------------------------*/ - diff --git a/harbour/contrib/hbxbp/tests/test.dbf b/harbour/contrib/hbxbp/tests/test.dbf deleted file mode 100644 index 77710fcb868e550097a6f697c3dc56809861614f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100387 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[i] = ( char ) HB_TOUPPER( ( UCHAR ) i ); - cdpage->s_lower[i] = ( char ) HB_TOLOWER( ( UCHAR ) i ); + cdpage->s_upper[ i ] = ( char ) HB_TOUPPER( ( UCHAR ) i ); + cdpage->s_lower[ i ] = ( char ) HB_TOLOWER( ( UCHAR ) i ); } if( strpbrk( cdpage->CharsUpper, "~." ) != NULL ) { @@ -402,13 +400,13 @@ BOOL hb_cdpRegister( PHB_CODEPAGE cdpage ) { for( i = 91; i <= 96; i++ ) { - if( !cdpage->s_chars[i] ) - cdpage->s_chars[i] = ( char ) ( cdpage->nChars + ( i - 90 ) ); + if( !cdpage->s_chars[ i ] ) + cdpage->s_chars[ i ] = ( char ) ( cdpage->nChars + ( i - 90 ) ); } for( i = 123; i < 256; i++ ) { - if( !cdpage->s_chars[i] ) - cdpage->s_chars[i] = ( char ) ( cdpage->nChars + nAddLower + ( i - 122 ) ); + if( !cdpage->s_chars[ i ] ) + cdpage->s_chars[ i ] = ( char ) ( cdpage->nChars + nAddLower + ( i - 122 ) ); } } /* @@ -422,8 +420,8 @@ BOOL hb_cdpRegister( PHB_CODEPAGE cdpage ) { printf( "\n" ); for( i=0; i= ( cdpOut->nChars + nAddLower ) ) ? - cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n]; + cdpOut->CharsLower[ n - cdpOut->nChars - nAddLower ] : cdpOut->CharsUpper[ n ]; } } } @@ -572,7 +570,7 @@ void hb_cdpnTranslate( char *psz, PHB_CODEPAGE cdpIn, PHB_CODEPAGE cdpOut, ULONG { n--; *psz = ( n >= ( cdpOut->nChars + nAddLower ) ) ? - cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[n]; + cdpOut->CharsLower[n - cdpOut->nChars - nAddLower] : cdpOut->CharsUpper[ n ]; } } } @@ -581,18 +579,11 @@ void hb_cdpnTranslate( char *psz, PHB_CODEPAGE cdpIn, PHB_CODEPAGE cdpOut, ULONG USHORT hb_cdpGetU16( PHB_CODEPAGE cdp, BOOL fCtrl, UCHAR ch ) { - USHORT u; - if( ( fCtrl || ch >= 32 ) && cdp && cdp->uniTable && cdp->uniTable->uniCodes && ch < cdp->uniTable->nChars ) - { - u = cdp->uniTable->uniCodes[ch]; - } + return cdp->uniTable->uniCodes[ ch ]; else - { - u = ch; - } - return u; + return ch; } UCHAR hb_cdpGetChar( PHB_CODEPAGE cdp, BOOL fCtrl, USHORT uc ) @@ -603,7 +594,7 @@ UCHAR hb_cdpGetChar( PHB_CODEPAGE cdp, BOOL fCtrl, USHORT uc ) for( i = fCtrl ? 0 : 32; i < cdp->uniTable->nChars; i++ ) { - if( cdp->uniTable->uniCodes[i] == uc ) + if( cdp->uniTable->uniCodes[ i ] == uc ) { uc = ( USHORT ) i; break; @@ -627,7 +618,7 @@ char *hb_cdpUTF8StringSubstr( const char * pSrc, ULONG ulLen, n = 0; for( ul = 0; ul < ulLen && ulFrom; ++ul ) { - if( utf8tou16nextchar( pSrc[ul], &n, &uc ) ) + if( utf8tou16nextchar( pSrc[ ul ], &n, &uc ) ) { if( n == 0 ) --ulFrom; @@ -641,7 +632,7 @@ char *hb_cdpUTF8StringSubstr( const char * pSrc, ULONG ulLen, n = 0; do { - if( utf8tou16nextchar( pSrc[ul], &n, &uc ) ) + if( utf8tou16nextchar( pSrc[ ul ], &n, &uc ) ) { if( n == 0 ) --ulCnt; @@ -651,7 +642,7 @@ char *hb_cdpUTF8StringSubstr( const char * pSrc, ULONG ulLen, ulDst = ul - ulFrom; pDst = ( char * ) hb_xgrab( ulDst + 1 ); - memcpy( pDst, &pSrc[ulFrom], ulDst ); + memcpy( pDst, &pSrc[ ulFrom ], ulDst ); pDst[ ulDst ] = '\0'; } } @@ -672,7 +663,7 @@ ULONG hb_cdpUTF8StringPeek( const char * pSrc, ULONG ulLen, ULONG ulPos ) for( ul = 0; ul < ulLen && ulPos; ++ul ) { - if( utf8tou16nextchar( ( UCHAR ) pSrc[ul], &n, &uc ) ) + if( utf8tou16nextchar( ( UCHAR ) pSrc[ ul ], &n, &uc ) ) { if( n == 0 ) --ulPos; @@ -684,7 +675,7 @@ ULONG hb_cdpUTF8StringPeek( const char * pSrc, ULONG ulLen, ULONG ulPos ) n = 0; do { - if( utf8tou16nextchar( ( UCHAR ) pSrc[ul], &n, &uc ) ) + if( utf8tou16nextchar( ( UCHAR ) pSrc[ ul ], &n, &uc ) ) { if( n == 0 ) return uc; @@ -705,7 +696,7 @@ ULONG hb_cdpUTF8StringLength( const char * pSrc, ULONG ulLen ) for( ul = ulDst = 0; ul < ulLen; ++ul ) { - if( utf8tou16nextchar( ( UCHAR ) pSrc[ul], &n, &uc ) ) + if( utf8tou16nextchar( ( UCHAR ) pSrc[ ul ], &n, &uc ) ) { if( n == 0 ) ++ulDst; @@ -722,7 +713,7 @@ ULONG hb_cdpStringInUTF8Length( PHB_CODEPAGE cdp, BOOL fCtrl, for( ul = ulDst = 0; ul < ulLen; ++ul ) { - ulDst += utf8Size( hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[ul] ) ); + ulDst += utf8Size( hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[ ul ] ) ); } return ulDst; @@ -750,7 +741,7 @@ ULONG hb_cdpUTF8ToStrn( PHB_CODEPAGE cdp, BOOL fCtrl, for( i = fCtrl ? 0 : 32; i < cdp->uniTable->nChars; i++ ) { - if( cdp->uniTable->uniCodes[i] == uc ) + if( cdp->uniTable->uniCodes[ i ] == uc ) { uc = ( USHORT ) i; break; @@ -781,7 +772,7 @@ BOOL hb_cdpGetFromUTF8( PHB_CODEPAGE cdp, BOOL fCtrl, UCHAR ch, for( i = fCtrl ? 0 : 32; i < cdp->uniTable->nChars; i++ ) { - if( cdp->uniTable->uniCodes[i] == *uc ) + if( cdp->uniTable->uniCodes[ i ] == *uc ) { *uc = ( USHORT ) i; break; @@ -808,8 +799,8 @@ ULONG hb_cdpStrnToUTF8( PHB_CODEPAGE cdp, BOOL fCtrl, */ for( i = 0, n = 0; i < ulLen; i++ ) { - u = hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[i] ); - n += u16toutf8( &pDst[n], u ); + u = hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[ i ] ); + n += u16toutf8( &pDst[ n ], u ); } return n; } @@ -827,12 +818,12 @@ ULONG hb_cdpStrnToUTF8( PHB_CODEPAGE cdp, BOOL fCtrl, for( i = 0, n = 0; i < ulLen; i++ ) { - u = ( UCHAR ) pSrc[i]; + u = ( UCHAR ) pSrc[ i ]; if( uniCodes && u < nChars && ( fCtrl || u >= 32 ) ) - u = uniCodes[u]; - n += u16toutf8( &pDst[n], u ); + u = uniCodes[ u ]; + n += u16toutf8( &pDst[ n ], u ); } - pDst[n] = '\0'; + pDst[ n ] = '\0'; return n; } @@ -852,7 +843,7 @@ ULONG hb_cdpStrnToU16( PHB_CODEPAGE cdp, BOOL fCtrl, */ for( i = 0; i < ulLen; i++, pDst += 2 ) { - u = hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[i] ); + u = hb_cdpGetU16( cdp, fCtrl, ( UCHAR ) pSrc[ i ] ); HB_PUT_BE_UINT16( pDst, u ); } return i << 1; @@ -871,9 +862,9 @@ ULONG hb_cdpStrnToU16( PHB_CODEPAGE cdp, BOOL fCtrl, for( i = 0; i < ulLen; i++, pDst += 2 ) { - u = ( UCHAR ) pSrc[i]; + u = ( UCHAR ) pSrc[ i ]; if( uniCodes && u < nChars && ( fCtrl || u >= 32 ) ) - u = uniCodes[u]; + u = uniCodes[ u ]; HB_PUT_BE_UINT16( pDst, u ); } return i << 1; @@ -886,8 +877,8 @@ int hb_cdpchrcmp( char cFirst, char cSecond, PHB_CODEPAGE cdpage ) if( cFirst == cSecond ) return 0; - if( ( n1 = ( int ) cdpage->s_chars[( UCHAR ) cFirst] ) != 0 && - ( n2 = ( int ) cdpage->s_chars[( UCHAR ) cSecond] ) != 0 ) + if( ( n1 = ( int ) cdpage->s_chars[ ( UCHAR ) cFirst ] ) != 0 && + ( n2 = ( int ) cdpage->s_chars[ ( UCHAR ) cSecond ] ) != 0 ) return ( n1 < n2 ) ? -1 : 1; return ( ( UCHAR ) cFirst < ( UCHAR ) cSecond ) ? -1 : 1; @@ -939,8 +930,8 @@ int hb_cdpcmp( const char *szFirst, ULONG ulLenFirst, { if( nd1 == nd2 ) { - nd1 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szFirst]; - nd2 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szSecond]; + nd1 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szFirst ]; + nd2 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szSecond ]; if( nd1 == nd2 || !nd1 || !nd2 ) { nd1 = ( UCHAR ) * szFirst; @@ -967,8 +958,8 @@ int hb_cdpcmp( const char *szFirst, ULONG ulLenFirst, { if( nd1 == nd2 ) { - nd1 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szFirst]; - nd2 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szSecond]; + nd1 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szFirst ]; + nd2 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szSecond ]; if( nd1 == nd2 || !nd1 || !nd2 ) { nd1 = ( UCHAR ) * szFirst; @@ -989,8 +980,8 @@ int hb_cdpcmp( const char *szFirst, ULONG ulLenFirst, } } - if( ( n1 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szFirst] ) == 0 || - ( n2 = ( UCHAR ) cdpage->s_chars[( UCHAR ) * szSecond] ) == 0 ) + if( ( n1 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szFirst ] ) == 0 || + ( n2 = ( UCHAR ) cdpage->s_chars[ ( UCHAR ) * szSecond ] ) == 0 ) { /* One of characters doesn't belong to the national characters */ iRet = ( ( UCHAR ) * szFirst < ( UCHAR ) * szSecond ) ? -1 : 1; @@ -1001,8 +992,8 @@ int hb_cdpcmp( const char *szFirst, ULONG ulLenFirst, if( iAcc == 0 && ( fExact || ( ulLenFirst == ulLenSecond && cdpage->lAccInterleave ) ) ) { if( cdpage->lAccInterleave ) - iAcc = ( cdpage->s_accent[( UCHAR ) * szFirst] < - cdpage->s_accent[( UCHAR ) * szSecond] ) ? -1 : 1; + iAcc = ( cdpage->s_accent[ ( UCHAR ) * szFirst ] < + cdpage->s_accent[ ( UCHAR ) * szSecond ] ) ? -1 : 1; else iAcc = ( ( UCHAR ) * szFirst < ( UCHAR ) * szSecond ) ? -1 : 1; }