2001-07-20 13:35 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>

This commit is contained in:
Alexander S.Kresin
2001-07-20 09:35:01 +00:00
parent 6f912ba2bd
commit 0f765fb8fb
2 changed files with 29 additions and 20 deletions

View File

@@ -1,3 +1,7 @@
2001-07-20 13:35 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
* source/rtl/memofile.c
! A bug fixed, which appeared while reading an empty file
2001-07-19 20:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
+ Added #define HB_MAX_MACRO_ARGS 16

View File

@@ -68,30 +68,35 @@ HB_FUNC( MEMOREAD )
if( fhnd != FS_ERROR )
{
ULONG ulSize = hb_fsSeek( fhnd, -( ( LONG ) sizeof( BYTE ) ), FS_END ) + sizeof( BYTE );
BYTE * pbyBuffer;
/* Don't read the file terminating EOF character */
#if ! defined(OS_UNIX_COMPATIBLE)
ULONG ulSize = hb_fsSeek( fhnd, 0, FS_END );
if( ulSize != 0 )
{
BYTE byEOF = HB_CHAR_NUL;
BYTE * pbyBuffer;
hb_fsRead( fhnd, &byEOF, sizeof( BYTE ) );
/* Don't read the file terminating EOF character */
if( byEOF == HB_CHAR_EOF )
ulSize--;
#if ! defined(OS_UNIX_COMPATIBLE)
{
BYTE byEOF = HB_CHAR_NUL;
hb_fsRead( fhnd, &byEOF, sizeof( BYTE ) );
if( byEOF == HB_CHAR_EOF )
ulSize--;
}
#endif
pbyBuffer = ( BYTE * ) hb_xgrab( ulSize + sizeof( char ) );
hb_fsSeek( fhnd, 0, FS_SET );
hb_fsReadLarge( fhnd, pbyBuffer, ulSize );
hb_fsClose( fhnd );
hb_itemPutCPtr( hb_itemReturnPtr(), ( char * ) pbyBuffer, ulSize );
}
#endif
pbyBuffer = ( BYTE * ) hb_xgrab( ulSize + sizeof( char ) );
hb_fsSeek( fhnd, 0, FS_SET );
hb_fsReadLarge( fhnd, pbyBuffer, ulSize );
hb_fsClose( fhnd );
hb_itemPutCPtr( hb_itemReturnPtr(), ( char * ) pbyBuffer, ulSize );
else
hb_retc( "" );
}
else
hb_retc( "" );