2006-08-14 10:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/rtl/fserror.c
    + added translation error code for ENMFILE

  * harbour/source/rtl/hbffind.c
    * set FERROR() code when FILE() faild - Clipper compatibility
This commit is contained in:
Przemyslaw Czerpak
2006-08-14 08:14:44 +00:00
parent 5a395159ee
commit 21ea15cf61
3 changed files with 19 additions and 52 deletions

View File

@@ -8,6 +8,13 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2006-08-14 10:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/fserror.c
+ added translation error code for ENMFILE
* harbour/source/rtl/hbffind.c
* set FERROR() code when FILE() faild - Clipper compatibility
2006-08-11 10:15 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* utils/hbpptest/pretest.prg
* fixed to use HB_OSNewLine(0 instead '\n'

View File

@@ -76,6 +76,9 @@ static int hb_errnoToDosError( int ErrCode )
#else
switch ( ErrCode )
{
#if defined( ENMFILE )
case ENMFILE:
#endif
case ENOENT:
iResult = 2; /* File not found */
break;
@@ -161,9 +164,6 @@ static int hb_WinToDosError( ULONG ulError )
case ERROR_INVALID_HANDLE:
iResult = 6;
break;
case 25:
iResult = 25;
break;
default:
iResult = ( int ) ulError ;

View File

@@ -163,40 +163,6 @@ HB_FILE_VER( "$Id$" )
#endif
/* Internal funtion , Convert Windows Error Values to Dos Error Values */
#ifdef HB_OS_WIN_32
static int WinToDosError( unsigned long lError)
{
int iReturn;
switch( lError )
{
case ERROR_ALREADY_EXISTS:
iReturn = 5;
break;
case ERROR_FILE_NOT_FOUND:
iReturn = 2;
break;
case ERROR_PATH_NOT_FOUND:
iReturn = 3;
break;
case ERROR_TOO_MANY_OPEN_FILES:
iReturn = 4;
break;
case ERROR_INVALID_HANDLE:
iReturn = 6;
break;
default:
iReturn = 0;
break;
}
return iReturn;
}
#endif
/* ------------------------------------------------------------- */
USHORT hb_fsAttrFromRaw( ULONG raw_attr )
@@ -500,17 +466,8 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind )
nSec = ft->tm_sec;
}
}
else
{
#if defined(__DJGPP__) || defined(__RSX32__)
if( errno == 22 )
errno = 2;
if( errno == 4 )
errno = 5;
#endif
hb_fsSetError( errno );
}
if( !bFound ) hb_fsSetIOError( bFound, 0 );
}
#elif defined(HB_OS_OS2)
@@ -572,6 +529,8 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind )
nSec = ft->tm_sec;
}
}
if( !bFound ) hb_fsSetIOError( bFound, 0 );
}
#elif defined(HB_OS_WIN_32)
@@ -649,12 +608,9 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind )
}
}
}
else
{
errno = WinToDosError( GetLastError() );
hb_fsSetError( errno );
}
}
if( !bFound ) hb_fsSetIOError( bFound, 0 );
}
#elif defined(HB_OS_UNIX)
@@ -754,6 +710,8 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind )
nSec = ft->tm_sec;
}
}
if( !bFound ) hb_fsSetIOError( bFound, 0 );
}
#else
@@ -771,6 +729,8 @@ static BOOL hb_fsFindNextLow( PHB_FFIND ffind )
HB_SYMBOL_UNUSED( raw_attr );
bFound = FALSE;
hb_fsSetError( (USHORT) FS_ERROR );
}
#endif