/* * Call specific driver function to load any configuration needed... * 14/12/2008 - 20:05:26 */ static void SQLSYS_LOADINFO( const char *DriverName, SQLSYS_INFO *pStruct ) { PHB_DYNS pDynSym = hb_dynsymFind( DriverName ); if ( pDynSym && hb_dynsymIsFunction( pDynSym ) ) { HB_TRACE(HB_TR_DEBUG,(" SQLSYS_LOADINFO( '%s', %p ) ... (LOADing)", DriverName, pStruct )); hb_vmPushDynSym( pDynSym ); hb_vmPushNil(); hb_vmPushPointer( ( void * ) pStruct ); hb_vmDo( 1 ); } else { HB_TRACE(HB_TR_DEBUG,(" SQLSYS_LOADINFO( '%s', %p ) ... ERROR: DRIVER NOT FOUND!!! ###", DriverName, pStruct )); memset( pStruct, '\0', sizeof( SQLSYS_INFO ) ); } }
static void xml_errorHandler( void * unused, xmlErrorPtr pError ) { if( ! unused && pError && pHandler ) { /* HB_TRACE( HB_TR_ERROR, ( "libxml2 error: file=%s domain=%d code=%d message=%s line=%d col=%d s1=%s s2=%s s3=%s", pError->file, pError->domain, pError->code, pError->message, pError->line, pError->int2, pError->str1, pError->str2, pError->str3 ) ); */ /* codeblock */ PHB_ITEM pCallback = pHandler->pErrorBlock; if( HB_IS_BLOCK( pCallback ) ) { if( hb_vmRequestReenter() ) { //int iResult; hb_vmPushEvalSym(); hb_vmPush( pCallback ); hb_vmPushPointer( pError ); hb_vmSend( 1 ); //iResult = hb_parni( -1 ); hb_vmRequestRestore(); } } } }