2001-07-20 13:35 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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( "" );
|
||||
|
||||
Reference in New Issue
Block a user