2011-02-21 16:28 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)

* harbour/contrib/hbwin/axcore.c
    * return NIL instead of runtime error if failed to obtain 
      connection point
    ; Please test
  * harbour/src/rtl/fscopy.c
    * added error check for read operation
This commit is contained in:
Mindaugas Kavaliauskas
2011-02-21 14:29:54 +00:00
parent 79d4a781a4
commit 60e70eb29b
3 changed files with 24 additions and 7 deletions

View File

@@ -16,6 +16,14 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-02-21 16:28 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/hbwin/axcore.c
* return NIL instead of runtime error if failed to obtain
connection point
; Please test
* harbour/src/rtl/fscopy.c
* added error check for read operation
2011-02-21 13:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
+ fs_win_set_drive(): Setting SEM_FAILCRITICALERRORS before

View File

@@ -673,9 +673,9 @@ HB_FUNC( __AXREGISTERHANDLER ) /* ( pDisp, bHandler [, cIID] ) --> pSink */
hb_oleSetError( lOleError );
if( lOleError != S_OK )
hb_errRT_OLE( EG_ARG, 1014, ( HB_ERRCODE ) lOleError, "Failed to obtain connection point", HB_ERR_FUNCNAME );
hb_ret();
}
else
hb_errRT_OLE( EG_ARG, 1015, 0, "Failed to obtain connection point", HB_ERR_FUNCNAME );
hb_errRT_OLE( EG_ARG, 1015, 0, NULL, HB_ERR_FUNCNAME );
}
}

View File

@@ -62,8 +62,8 @@
HB_BOOL hb_fsCopy( const char * pszSource, const char * pszDest )
{
HB_ERRCODE errCode = 0;
HB_BOOL bRetVal = HB_TRUE;
HB_ERRCODE errCode;
HB_BOOL bRetVal;
HB_FHANDLE fhndSource;
HB_FHANDLE fhndDest;
@@ -78,12 +78,21 @@ HB_BOOL hb_fsCopy( const char * pszSource, const char * pszDest )
HB_USHORT nBytesRead;
void * pbyBuffer = hb_xgrab( HB_FSCOPY_BUFFERSIZE );
while( ( nBytesRead = hb_fsRead( fhndSource, pbyBuffer, HB_FSCOPY_BUFFERSIZE ) ) > 0 )
for( ;; )
{
if( nBytesRead != hb_fsWrite( fhndDest, pbyBuffer, nBytesRead ) )
if( ( nBytesRead = hb_fsRead( fhndSource, pbyBuffer, HB_FSCOPY_BUFFERSIZE ) ) > 0 )
{
if( nBytesRead != hb_fsWrite( fhndDest, pbyBuffer, nBytesRead ) )
{
errCode = hb_fsError();
bRetVal = HB_FALSE;
break;
}
}
else
{
errCode = hb_fsError();
bRetVal = HB_FALSE;
bRetVal = errCode == 0;
break;
}
}