2009-11-28 20:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbmisc/spd.c
    * __XHARBOUR__ protected DATETIME part converted to commented code.
    ; TODO: Xavi, pls update this code to build with Harbour, now
            we have DATETIME support as well.

  * utils/hbformat/hbformat.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * tests/usrrdd/exlog.prg
  * contrib/gtwvg/wvgutils.c
  * examples/httpsrv/cgifunc.prg
  * examples/httpsrv/session.prg
    - Deleted __XHARBOUR__ protected parts.

  * examples/rddado/adordd.prg
  * examples/httpsrv/uhttpd.prg
    * TRY/CATCH converted to BEGIN SEQUENCE, dropping all __XHARBOUR__
      portected parts.

  * include/hbapi.h
    * TRUE/FALSE -> HB_TRUE/HB_FALSE.
This commit is contained in:
Viktor Szakats
2009-11-28 19:03:00 +00:00
parent 25568e13e8
commit 8b8bf4d810
11 changed files with 127 additions and 211 deletions

View File

@@ -17,6 +17,28 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-11-28 20:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmisc/spd.c
* __XHARBOUR__ protected DATETIME part converted to commented code.
; TODO: Xavi, pls update this code to build with Harbour, now
we have DATETIME support as well.
* utils/hbformat/hbformat.prg
* src/rdd/usrrdd/rdds/logrdd.prg
* tests/usrrdd/exlog.prg
* contrib/gtwvg/wvgutils.c
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/session.prg
- Deleted __XHARBOUR__ protected parts.
* examples/rddado/adordd.prg
* examples/httpsrv/uhttpd.prg
* TRY/CATCH converted to BEGIN SEQUENCE, dropping all __XHARBOUR__
portected parts.
* include/hbapi.h
* TRUE/FALSE -> HB_TRUE/HB_FALSE.
2009-11-28 18:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/axcore.c
! added missing Release() call for OLE object

View File

@@ -952,13 +952,7 @@ HB_FUNC( WVT_CREATEDIALOGDYNAMIC )
}
else if( hb_itemType( pFirst ) == HB_IT_STRING )
{
#ifdef __XHARBOUR__
hb_dynsymLock();
#endif
pExecSym = hb_dynsymFindName( hb_itemGetCPtr( pFirst ) );
#ifdef __XHARBOUR__
hb_dynsymUnlock();
#endif
if ( pExecSym )
{
pFunc = ( PHB_ITEM ) pExecSym;
@@ -1090,13 +1084,7 @@ HB_FUNC( WVT_CREATEDIALOGMODAL )
}
else if( hb_itemType( pFirst ) == HB_IT_STRING )
{
#ifdef __XHARBOUR__
hb_dynsymLock();
#endif
pExecSym = hb_dynsymFindName( hb_itemGetCPtr( pFirst ) );
#ifdef __XHARBOUR__
hb_dynsymUnlock();
#endif
if ( pExecSym )
{
pFunc = ( PHB_ITEM ) pExecSym;

View File

@@ -377,7 +377,7 @@ HB_FUNC( SQL_SPRINTF )
if( f != s ) cIntMod[f++] = '\0'; /* Date & Time */
}
# ifdef __XHARBOUR__
/*
if( HB_IS_DATETIME( pItmPar ) ){
hb_datetimeFormat( hb_itemGetDTS( pItmPar, cDTBuf ), cDTFrm,
(s ? cIntMod : (IsType ? "YYYY-MM-DD" : hb_setGetDateFormat())),
@@ -389,8 +389,8 @@ HB_FUNC( SQL_SPRINTF )
cDTFrm[s] = '\0'; /* RTrim 1 space if only Date */
}
}
}else
# endif
} else
*/
hb_dateFormat( hb_itemGetDS( pItmPar, cDTBuf ), cDTFrm,
(s ? cIntMod : (IsType ? "YYYY-MM-DD" : hb_setGetDateFormat())) );

View File

@@ -50,10 +50,6 @@
*
*/
#ifdef __XHARBOUR__
#include "hbcompat.ch"
#else
//#include "xhb.ch"
#include "common.ch"
#include "error.ch"
#include "fileio.ch"
@@ -353,7 +349,6 @@ FUNCTION uhttpd_URLEncode( cString, lComplete )
ENDCASE
NEXT
RETURN cRet
#endif
/************************************************************
* Decoding URL
@@ -862,4 +857,3 @@ FUNCTION uhttpd_HGetValue( hHash, cKey )
ENDIF
//RETURN IIF( cKey IN hHash:Keys, hHash[ cKey ], NIL )
RETURN xVal

View File

@@ -50,10 +50,6 @@
*
*/
#ifdef __XHARBOUR__
#include "hbcompat.ch"
#else
#include "common.ch"
#include "hbclass.ch"
#include "fileio.ch"

View File

@@ -84,16 +84,6 @@
#define FIXED_THREADS // This force application to use fixed number of running threads and no service threads
#ifdef __XHARBOUR__
#include "hbcompat.ch"
#xtranslate hb_StrFormat( [<x,...>] ) => hb_sprintf( <x> )
#else
/* TRY / CATCH / FINALLY / END */
#xcommand TRY => BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#xcommand FINALLY => ALWAYS
#endif
#include "fileio.ch"
#include "common.ch"
#include "inkey.ch"
@@ -160,26 +150,17 @@
#define CR_LF (CHR(13)+CHR(10))
#define HB_IHASH() HB_HSETCASEMATCH( {=>}, FALSE )
#ifndef __XHARBOUR__
#ifdef __PLATFORM__WINDOWS
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WIN
REQUEST HB_GT_NUL
#else
REQUEST HB_GT_TRM_DEFAULT
REQUEST HB_GT_NUL
#endif
#define THREAD_GT hb_gtVersion()
#ifdef __PLATFORM__WINDOWS
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WIN
REQUEST HB_GT_NUL
#else
REQUEST HB_GT_WVT
REQUEST HB_GT_WIN
REQUEST HB_GT_NUL
REQUEST HB_GT_TRM_DEFAULT
REQUEST HB_GT_NUL
#endif
#define THREAD_GT hb_gtVersion()
// dynamic call for HRB support
DYNAMIC HRBMAIN
@@ -2808,7 +2789,7 @@ STATIC FUNCTION Handler_HrbScript( cFileName )
LOCAL cHRBBody, pHRB, oError
LOCAL cCurPath
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
// Lock HRB to avoid MT race conditions
IF !HRB_ACTIVATE_CACHE
cHRBBody := HRB_LoadFromFile( uhttpd_OSFileName( cFileName ) )
@@ -2858,7 +2839,7 @@ STATIC FUNCTION Handler_HrbScript( cFileName )
// Application in HRB module is responsible to send HTML content
ENDIF
CATCH oError
RECOVER USING oError
WriteToConsole( "Error!" )
@@ -2874,7 +2855,8 @@ STATIC FUNCTION Handler_HrbScript( cFileName )
uhttpd_Write( "<br>Args: " + hb_cStr( hb_ValToExp( oError:args ) ) )
uhttpd_Write( "<br>ProcName: " + hb_cStr( procname( 0 ) ) )
uhttpd_Write( "<br>ProcLine: " + hb_cStr( procline( 0 ) ) )
END
END SEQUENCE
RETURN MakeResponse()

View File

@@ -81,17 +81,7 @@
#include "dbstruct.ch"
#include "dbinfo.ch"
#ifndef __XHARBOUR__
#include "hbusrrdd.ch"
#xcommand TRY => t_bError := errorBlock( {|oErr| break( oErr ) } ) ;;
BEGIN SEQUENCE
#xcommand CATCH [<!oErr!>] => errorBlock( t_bError ) ;;
RECOVER [USING <oErr>] <-oErr-> ;;
errorBlock( t_bError )
#command FINALLY => ALWAYS
#else
#include "usrrdd.ch"
#endif
#include "hbusrrdd.ch"
#define WA_RECORDSET 1
#define WA_BOF 2
@@ -127,20 +117,6 @@ THREAD STATIC t_cUserName
THREAD STATIC t_cPassword
THREAD STATIC t_cQuery := ""
#ifndef __XHARBOUR__
THREAD STATIC t_bError
#endif
#ifdef __XHARBOUR__
STATIC FUNCTION HB_TokenGet( cText, nPos, cSep )
LOCAL aTokens := HB_ATokens( cText, cSep )
RETURN iif( nPos <= Len( aTokens ), aTokens[ nPos ], "" )
#endif
STATIC FUNCTION ADO_INIT( nRDD )
LOCAL aRData := Array( RDD_SIZE )
@@ -196,17 +172,9 @@ STATIC FUNCTION ADO_CREATE( nWA, aOpenInfo )
IF ! hb_FileExists( cDataBase )
oCatalog:Create( "Driver=Firebird/InterBase(r) driver;Uid=" + cUserName + ";Pwd=" + cPassword + ";DbName=" + cDataBase + ";" )
ENDIF
#ifdef __XHARBOUR__
__OutDebug( "Driver=Firebird/InterBase(r) driver;Uid=" + cUserName + ";Pwd=" + cPassword + ";DbName=" + cDataBase + ";" )
#endif
oConnection:Open( "Driver=Firebird/InterBase(r) driver;Uid=" + cUserName + ";Pwd=" + cPassword + ";DbName=" + cDataBase + ";" )
oConnection:CursorLocation := adUseClient
#ifdef __XHARBOUR__
__OutDebug( oConnection:State != adStateClosed,;
oConnection:State != adStateOpen )
#endif
CASE Upper( cDbEngine ) == "MYSQL"
oConnection:Open( "DRIVER={MySQL ODBC 3.51 Driver};" + ;
"server=" + cServer + ;
@@ -216,21 +184,18 @@ STATIC FUNCTION ADO_CREATE( nWA, aOpenInfo )
ENDCASE
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oConnection:Execute( "DROP TABLE " + cTableName )
CATCH
END TRY
RECOVER
END SEQUENCE
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF Lower( Right( cDataBase, 4 ) ) == ".fdb"
#ifdef __XHARBOUR__
__OutDebug( "CREATE TABLE " + cTableName + " (" + StrTran( StrTran( aWAData[ WA_SQLSTRUCT ], "[", '"' ), "]", '"' ) + ")" )
#endif
oConnection:Execute( "CREATE TABLE " + cTableName + " (" + StrTran( StrTran( aWAData[ WA_SQLSTRUCT ], "[", '"' ), "]", '"' ) + ")" )
ELSE
oConnection:Execute( "CREATE TABLE [" + cTableName + "] (" + aWAData[ WA_SQLSTRUCT ] + ")" )
ENDIF
CATCH
RECOVER
oError := ErrorNew()
oError:GenCode := EG_CREATE
oError:SubCode := 1004
@@ -241,9 +206,6 @@ STATIC FUNCTION ADO_CREATE( nWA, aOpenInfo )
FOR n := 0 To oConnection:Errors:Count - 1
oError:Description += oConnection:Errors(n):Description
#ifdef __XHARBOUR__
__OutDebug( oConnection:Errors(n):Description )
#endif
NEXT
UR_SUPER_ERROR( nWA, oError )
@@ -412,17 +374,17 @@ STATIC FUNCTION ADO_OPEN( nWA, aOpenInfo )
oRecordSet:Open( aWAData[ WA_QUERY ], aWAData[ WA_CONNECTION ] )
ENDIF
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
aWAData[ WA_CATALOG ] := win_OleCreateObject( "ADOX.Catalog" )
aWAData[ WA_CATALOG ]:ActiveConnection := aWAData[ WA_CONNECTION ]
CATCH
END TRY
RECOVER
END SEQUENCE
IF Empty( aWAData[ WA_CATALOG ] )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
aWAData[ WA_CATALOG ] := aWAData[ WA_CONNECTION ]:OpenSchema( adSchemaIndexes )
CATCH
END TRY
RECOVER
END SEQUENCE
ENDIF
aWAData[ WA_RECORDSET ] := oRecordSet
@@ -459,7 +421,7 @@ STATIC FUNCTION ADO_CLOSE( nWA )
LOCAL aWAData := USRRDD_AREADATA( nWA )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Close()
IF ! Empty( aWAData[ WA_CONNOPEN ] )
IF aWAData[ WA_CONNECTION ]:State != adStateClosed
@@ -470,8 +432,8 @@ STATIC FUNCTION ADO_CLOSE( nWA )
ENDIF
ENDIF
ENDIF
CATCH
END
RECOVER
END SEQUENCE
RETURN UR_SUPER_CLOSE( nWA )
@@ -592,7 +554,7 @@ STATIC FUNCTION ADO_SKIPRAW( nWA, nToSkip )
ADO_GOBOTTOM( nWA )
++nToSkip
ENDIF
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF aWAData[WA_CONNECTION]:State != adStateClosed
IF nToSkip < 0 .AND. oRecordSet:AbsolutePosition <= -nToSkip
oRecordSet:MoveFirst()
@@ -606,9 +568,9 @@ STATIC FUNCTION ADO_SKIPRAW( nWA, nToSkip )
ELSE
nResult := HB_FAILURE
ENDIF
CATCH
RECOVER
nResult := HB_FAILURE
END
END SEQUENCE
ENDIF
@@ -627,13 +589,13 @@ STATIC FUNCTION ADO_EOF( nWA, lEof )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
LOCAL nResult := HB_SUCCESS
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF USRRDD_AREADATA( nWA )[WA_CONNECTION]:State != adStateClosed
lEof := ( oRecordSet:AbsolutePosition == -3 )
ENDIF
CATCH
RECOVER
nResult := HB_FAILURE
END
END SEQUENCE
RETURN nResult
@@ -641,15 +603,15 @@ STATIC FUNCTION ADO_DELETED( nWA, lDeleted )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF oRecordSet:Status == adRecDeleted
lDeleted := .T.
ELSE
lDeleted := .F.
ENDIF
CATCH
RECOVER
lDeleted := .F.
END TRY
END SEQUENCE
RETURN HB_SUCCESS
@@ -668,7 +630,7 @@ STATIC FUNCTION ADO_RECNO( nWA, nRecNo )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
LOCAL nResult := HB_SUCCESS
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF USRRDD_AREADATA( nWA )[WA_CONNECTION]:State != adStateClosed
nRecno := iif( oRecordSet:AbsolutePosition == -3, oRecordSet:RecordCount() + 1, oRecordSet:AbsolutePosition )
@@ -676,10 +638,10 @@ STATIC FUNCTION ADO_RECNO( nWA, nRecNo )
nRecno := 0
nResult := HB_FAILURE
ENDIF
CATCH
RECOVER
nRecNo := 0
nResult := HB_FAILURE
END
END SEQUENCE
RETURN nResult
@@ -701,10 +663,10 @@ STATIC FUNCTION ADO_PUTVALUE( nWA, nField, xValue )
IF ! aWAData[ WA_EOF ] .AND. !( oRecordSet:Fields( nField - 1 ):Value == xValue )
oRecordSet:Fields( nField - 1 ):Value := xValue
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Update()
CATCH
END
RECOVER
END SEQUENCE
ENDIF
RETURN HB_SUCCESS
@@ -717,10 +679,10 @@ STATIC FUNCTION ADO_APPEND( nWA, lUnLockAll )
oRecordSet:AddNew()
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Update()
CATCH
END
RECOVER
END SEQUENCE
RETURN HB_SUCCESS
@@ -728,10 +690,10 @@ STATIC FUNCTION ADO_FLUSH( nWA )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Update()
CATCH
END
RECOVER
END SEQUENCE
RETURN HB_SUCCESS
@@ -839,12 +801,12 @@ STATIC FUNCTION ADO_FIELDNAME( nWA, nField, cFieldName )
LOCAL nResult := HB_SUCCESS
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
cFieldName := oRecordSet:Fields( nField - 1 ):Name
CATCH
RECOVER
cFieldName := ''
nResult := HB_FAILURE
END TRY
END SEQUENCE
RETURN nResult
@@ -1006,10 +968,10 @@ STATIC FUNCTION ADO_CLEARFILTER( nWA )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Filter := ""
CATCH
END
RECOVER
END SEQUENCE
RETURN HB_SUCCESS
@@ -1019,11 +981,11 @@ STATIC FUNCTION ADO_ZAP( nWA )
LOCAL oRecordSet := aWAData[ WA_RECORDSET ]
IF aWAData[ WA_CONNECTION ] != NIL .and. aWAData[ WA_TABLENAME ] != nil
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
aWAData[ WA_CONNECTION ]:Execute( "TRUNCATE TABLE " + aWAData[ WA_TABLENAME ] )
CATCH
RECOVER
aWAData[ WA_CONNECTION ]:Execute( "DELETE * FROM " + aWAData[ WA_TABLENAME ] )
END
END SEQUENCE
oRecordSet:Requery()
ENDIF
@@ -1055,10 +1017,10 @@ STATIC FUNCTION ADO_CLEARREL( nWA )
LOCAL aWAData := USRRDD_AREADATA( nWA )
LOCAL nKeys := 0, cKeyName
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
nKeys := aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys:Count
CATCH
END
RECOVER
END SEQUENCE
IF nKeys > 0
cKeyName := aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys( nKeys - 1 ):Name
@@ -1072,13 +1034,13 @@ STATIC FUNCTION ADO_CLEARREL( nWA )
STATIC FUNCTION ADO_RELAREA( nWA, nRelNo, nRelArea )
LOCAL aWAData := USRRDD_AREADATA( nWA )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF nRelNo <= aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys:Count()
nRelArea := Select( aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys( nRelNo - 1 ):RelatedTable )
ENDIF
CATCH
RECOVER
nRelArea := 0
END TRY
END SEQUENCE
RETURN HB_SUCCESS
@@ -1086,13 +1048,13 @@ STATIC FUNCTION ADO_RELTEXT( nWA, nRelNo, cExpr )
LOCAL aWAData := USRRDD_AREADATA( nWA )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF nRelNo <= aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys:Count()
cExpr := aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys( nRelNo - 1 ):Columns( 0 ):RelatedColumn
ENDIF
CATCH
RECOVER
cExpr := ''
END TRY
END SEQUENCE
RETURN HB_SUCCESS
@@ -1103,12 +1065,12 @@ STATIC FUNCTION ADO_SETREL( nWA, aRelInfo )
LOCAL cChild := Alias( aRelInfo[ UR_RI_CHILD ] )
LOCAL cKeyName := cParent + "_" + cChild
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Keys:Append( cKeyName, adKeyForeign,;
aRelInfo[ UR_RI_CEXPR ], cChild, aRelInfo[ UR_RI_CEXPR ] )
CATCH
RECOVER
// raise error for can't create relation
END
END SEQUENCE
RETURN HB_SUCCESS
@@ -1164,10 +1126,10 @@ STATIC FUNCTION ADO_ORDLSTADD( nWA, aOrderInfo )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Index := aOrderInfo[ UR_ORI_BAG ]
CATCH
END
RECOVER
END SEQUENCE
RETURN HB_SUCCESS
@@ -1175,10 +1137,10 @@ STATIC FUNCTION ADO_ORDLSTCLEAR( nWA )
LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
oRecordSet:Index := ""
CATCH
END
RECOVER
END SEQUENCE
RETURN HB_SUCCESS
@@ -1197,7 +1159,7 @@ STATIC FUNCTION ADO_ORDCREATE( nWA, aOrderCreateInfo )
next
endif
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
IF aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Indexes == nil .OR. ! lFound
oIndex := win_OleCreateObject( "ADOX.Index" )
oIndex:Name := iif( ! Empty( aOrderCreateInfo[ UR_ORCR_TAGNAME ] ), aOrderCreateInfo[ UR_ORCR_TAGNAME ], aOrderCreateInfo[ UR_ORCR_CKEY ] )
@@ -1206,7 +1168,7 @@ STATIC FUNCTION ADO_ORDCREATE( nWA, aOrderCreateInfo )
oIndex:Columns:Append( aOrderCreateInfo[ UR_ORCR_CKEY ] )
aWAData[ WA_CATALOG ]:Tables( aWAData[ WA_TABLENAME ] ):Indexes:Append( oIndex )
ENDIF
CATCH
RECOVER
oError := ErrorNew()
oError:GenCode := EG_CREATE
oError:SubCode := 1004
@@ -1215,7 +1177,7 @@ STATIC FUNCTION ADO_ORDCREATE( nWA, aOrderCreateInfo )
oError:FileName := aOrderCreateInfo[ UR_ORCR_BAGNAME ]
oError:CanDefault := .T.
UR_SUPER_ERROR( nWA, oError )
END
END SEQUENCE
RETURN HB_SUCCESS
@@ -1261,17 +1223,17 @@ STATIC FUNCTION ADO_EXISTS( nRdd, cTable, cIndex, ulConnect )
HB_SYMBOL_UNUSED( ulConnect )
IF ! Empty( cTable ) .AND. ! Empty( aRData[ WA_CATALOG ] )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
//n := aRData[ WA_CATALOG ]:Tables( cTable )
lRet := HB_SUCCESS
CATCH
END TRY
RECOVER
END SEQUENCE
IF ! Empty( cIndex )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
//n := aRData[ WA_CATALOG ]:Tables( cTable ):Indexes( cIndex )
lRet := HB_SUCCESS
CATCH
END TRY
RECOVER
END SEQUENCE
ENDIF
ENDIF
@@ -1285,17 +1247,17 @@ STATIC FUNCTION ADO_DROP( nRdd, cTable, cIndex, ulConnect )
HB_SYMBOL_UNUSED( ulConnect )
IF ! Empty( cTable ) .AND. ! Empty( aRData[ WA_CATALOG ] )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
//n := aRData[ WA_CATALOG ]:Tables:Delete( cTable )
lRet := HB_SUCCESS
CATCH
END TRY
RECOVER
END SEQUENCE
IF ! Empty( cIndex )
TRY
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
//n := aRData[ WA_CATALOG ]:Tables( cTable ):Indexes:Delete( cIndex )
lRet := HB_SUCCESS
CATCH
END TRY
RECOVER
END SEQUENCE
ENDIF
ENDIF

View File

@@ -502,7 +502,7 @@ extern void hb_xclean( void );
#ifdef _HB_API_INTERNAL_
extern void hb_xRefInc( void * pMem ); /* increment reference counter */
extern BOOL hb_xRefDec( void * pMem ); /* decrement reference counter, return TRUE when 0 reached */
extern BOOL hb_xRefDec( void * pMem ); /* decrement reference counter, return HB_TRUE when 0 reached */
extern void hb_xRefFree( void * pMem ); /* decrement reference counter and free the block when 0 reached */
extern HB_COUNTER hb_xRefCount( void * pMem ); /* return number of references */
extern void * hb_xRefResize( void * pMem, ULONG ulSave, ULONG ulSize, ULONG * pulAllocated ); /* reallocates memory, create copy if reference counter greater then 1 */
@@ -605,7 +605,7 @@ extern void hb_gcReleaseAll( void ); /* release all memory blocks uncondit
extern void hb_gcRefCheck( void * pBlock ); /* Check if block still cannot be access after destructor execution */
extern void hb_gcRefInc( void * pAlloc ); /* increment reference counter */
extern BOOL hb_gcRefDec( void * pAlloc ); /* decrement reference counter, return TRUE when 0 reached */
extern BOOL hb_gcRefDec( void * pAlloc ); /* decrement reference counter, return HB_TRUE when 0 reached */
extern void hb_gcRefFree( void * pAlloc ); /* decrement reference counter and free the block when 0 reached */
extern HB_COUNTER hb_gcRefCount( void * pAlloc ); /* return number of references */
@@ -732,7 +732,7 @@ extern HB_EXPORT void hb_retnlllen( LONGLONG lNumber, int iWidth ); /* returns
#define hb_retdl( lJulian ) hb_itemPutDL( hb_stackReturnItem(), lJulian )
#define hb_rettd( dTimeStamp ) hb_itemPutTD( hb_stackReturnItem(), dTimeStamp )
#define hb_rettdt( lJulian, lMilliSec ) hb_itemPutTDT( hb_stackReturnItem(), lJulian, lMilliSec )
#define hb_retl( iLogical ) hb_itemPutL( hb_stackReturnItem(), (iLogical) ? TRUE : FALSE )
#define hb_retl( iLogical ) hb_itemPutL( hb_stackReturnItem(), ( iLogical ) ? HB_TRUE : HB_FALSE )
#define hb_retnd( dNumber ) hb_itemPutND( hb_stackReturnItem(), dNumber )
#define hb_retni( iNumber ) hb_itemPutNI( hb_stackReturnItem(), iNumber )
#define hb_retnl( lNumber ) hb_itemPutNL( hb_stackReturnItem(), lNumber )
@@ -840,8 +840,8 @@ extern HB_EXPORT BOOL hb_arraySetPtr( PHB_ITEM pArray, ULONG ulIndex, vo
extern HB_EXPORT BOOL hb_arraySetPtrGC( PHB_ITEM pArray, ULONG ulIndex, void * pValue );
extern HB_EXPORT BOOL hb_arraySetSymbol( PHB_ITEM pArray, ULONG ulIndex, PHB_SYMB pSymbol );
extern HB_EXPORT BOOL hb_arrayFill( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount ); /* fill an array with a given item */
extern HB_EXPORT ULONG hb_arrayScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE */
extern HB_EXPORT ULONG hb_arrayRevScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns TRUE in reverted order */
extern HB_EXPORT ULONG hb_arrayScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns HB_TRUE */
extern HB_EXPORT ULONG hb_arrayRevScan( PHB_ITEM pArray, PHB_ITEM pValue, ULONG * pulStart, ULONG * pulCount, BOOL fExact ); /* scan an array for a given item, or until code-block item returns HB_TRUE in reverted order */
extern HB_EXPORT BOOL hb_arrayEval( PHB_ITEM pArray, PHB_ITEM bBlock, ULONG * pulStart, ULONG * pulCount ); /* execute a code-block for every element of an array item */
extern HB_EXPORT BOOL hb_arrayCopy( PHB_ITEM pSrcArray, PHB_ITEM pDstArray, ULONG * pulStart, ULONG * pulCount, ULONG * pulTarget ); /* copy items from one array to another */
extern HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pArray ); /* returns a duplicate of an existing array, including all nested items */
@@ -930,10 +930,10 @@ extern HB_EXPORT ULONG hb_strlentrim( const char * pszText ); /* like strlen
extern HB_EXPORT ULONG hb_strnlen( const char * pszText, ULONG ulLen ); /* like strlen() but result is limited to ulLen */
extern HB_EXPORT char * hb_xstrcat( char * dest, const char * src, ... ); /* Concatenates multiple strings into a single result */
extern HB_EXPORT char * hb_xstrcpy( char * szDest, const char * szSrc, ... ); /* Concatenates multiple strings into a single result */
extern HB_EXPORT BOOL hb_compStrToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal, int * piDec, int * piWidth ); /* converts string to number, sets iDec, iWidth and returns TRUE if results is double, used by compiler */
extern HB_EXPORT BOOL hb_valStrnToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal, int * piDec, int * piWidth ); /* converts string to number, sets iDec, iWidth and returns TRUE if results is double, used by VAL() */
extern HB_EXPORT BOOL hb_strToNum( const char * szNum, HB_LONG * plVal, double * pdVal ); /* converts string to number, returns TRUE if results is double */
extern HB_EXPORT BOOL hb_strnToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal ); /* converts string to number, returns TRUE if results is double */
extern HB_EXPORT BOOL hb_compStrToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal, int * piDec, int * piWidth ); /* converts string to number, sets iDec, iWidth and returns HB_TRUE if results is double, used by compiler */
extern HB_EXPORT BOOL hb_valStrnToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal, int * piDec, int * piWidth ); /* converts string to number, sets iDec, iWidth and returns HB_TRUE if results is double, used by VAL() */
extern HB_EXPORT BOOL hb_strToNum( const char * szNum, HB_LONG * plVal, double * pdVal ); /* converts string to number, returns HB_TRUE if results is double */
extern HB_EXPORT BOOL hb_strnToNum( const char * szNum, ULONG ulLen, HB_LONG * plVal, double * pdVal ); /* converts string to number, returns HB_TRUE if results is double */
extern HB_EXPORT int hb_snprintf( char * buffer, size_t bufsize, const char * format, ... ) HB_PRINTF_FORMAT( 3, 4 ); /* snprintf() equivalent */
extern HB_EXPORT int hb_vsnprintf( char * buffer, size_t bufsize, const char * format, va_list ap ); /* vsnprintf() equivalent */

View File

@@ -59,12 +59,7 @@
*/
#include "rddsys.ch"
#ifdef __XHARBOUR__
#include "usrrdd.ch"
#xtranslate hb_valtoexp( => cStr(
#else
#include "hbusrrdd.ch"
#endif
#include "hbusrrdd.ch"
#include "common.ch"
#include "fileio.ch"
#include "dbinfo.ch"
@@ -86,12 +81,8 @@ STATIC FUNCTION LOGRDD_INIT( nRDD )
/* Defaults */
cFileName := "changes.log"
lActive := .F.
#ifdef __XHARBOUR__
cTag := NETNAME() + "\" + NETNAME( 1 )
#else
cTag := NETNAME() + "\" + hb_USERNAME()
#endif
cRDDName := hb_LogRddInherit()
cTag := NETNAME() + "\" + hb_USERNAME()
cRDDName := hb_LogRddInherit()
/* Log File will be open later so user can change parameters */
@@ -333,14 +324,6 @@ FUNCTION hb_LogRddUserLogBlock( bUserLogBlock )
ENDIF
RETURN bOldUserLogBlock
#ifdef __XHARBOUR__
FUNCTION hb_LogRddValueToText( uValue )
LOCAL cType := ValType( uValue )
LOCAL cText := ValToPrg( uValue )
RETURN "[" + cType + "]>>>" + cText + "<<<"
#else
FUNCTION hb_LogRddValueToText( uValue )
LOCAL cType := ValType( uValue )
@@ -362,7 +345,6 @@ FUNCTION hb_LogRddValueToText( uValue )
ENDCASE
RETURN "[" + cType + "]>>>" + cText + "<<<"
#endif
/* -------------------------------------------------- */
/* LOCAL UTILITY FUNCTIONS */
@@ -428,9 +410,7 @@ STATIC FUNCTION ToString( cCmd, nWA, xPar1, xPar2, xPar3 )
cString := Alias() + "->RecNo() = " + LTrim( Str( RecNo() ) )
CASE cCmd == "PUTVALUE"
// Parameters received: xPar1 = nField, xPar2 = xValue, xPar3 = xOldValue
#ifndef __XHARBOUR__
HB_SYMBOL_UNUSED( xPar3 ) // Here don't log previous value
#endif
cString := Alias() + "(" + LTrim( Str( RecNo() ) ) + ")->" + PadR( FieldName( xPar1 ), 10 ) + " := " + hb_LogRddValueToText( xPar2 )
CASE cCmd == "ZAP"
// Parameters received: none

View File

@@ -78,9 +78,7 @@ STATIC FUNCTION MyToString( cCmd, nWA, xPar1, xPar2, xPar3 )
cString := Alias() + "->RecNo() = " + LTrim( Str( RecNo() ) )
CASE cCmd == "PUTVALUE"
// Parameters received: xPar1 = nField, xPar2 = xValue, xPar3 = xOldValue
#ifndef __XHARBOUR__
HB_SYMBOL_UNUSED( xPar3 ) // Here don't log previous value
#endif
cString := Alias() + "(" + LTrim( Str( RecNo() ) ) + ")->" + PadR( FieldName( xPar1 ), 10 ) + " := " + hb_LogRddValueToText( xPar2 )
CASE cCmd == "ZAP"
// Parameters received: none

View File

@@ -984,12 +984,6 @@ STATIC FUNCTION rf_ADEL( arr, nItem )
RETURN Nil
#ifdef __XHARBOUR__
#xtranslate HB_AT( < x, ... > ) => At( < x > )
#endif
STATIC FUNCTION FindNotQuoted( subs, stroka, nPos2 )
LOCAL nPos1, i, c, nState := 0, cSymb