BOOL HFileIStream::Assign( CONSTSTR FileName ) { Close(); File = FIO_OPEN( FileName,O_RDONLY|O_BINARY ); return File != -1; }
BOOL HFileOStream::Assign( CONSTSTR FileName ) { Close(); File = FIO_OPEN( FileName,O_WRONLY|O_BINARY ); if ( File == -1 ) { File = FIO_CREAT( FileName,FIO_DEF_ATTR ); if ( File == -1 ) return FALSE; } return TRUE; }
DWORD MYRTLEXP FileLength( CONSTSTR fname ) { struct stat st; if ( !FIO_STAT( fname,&st ) ) return MAX_DWORD; #if defined(__QNX__) int file; DWORD sz; if ( S_ISLNK(st.st_mode) ) { int file = FIO_OPEN( fname,O_RDONLY ); if ( file == -1 ) return MAX_DWORD; sz = filelength( file ); FIO_CLOSE(file); return sz; } #endif return st.st_size; }