︙ | | | ︙ | |
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
|
_handle = handle;
return self;
}
- (bool)lowlevelIsAtEndOfStream
{
if (_handle == OF_INVALID_FILE_HANDLE)
@throw [OFNotOpenException exceptionWithObject: self];
return _atEndOfStream;
}
- (size_t)lowlevelReadIntoBuffer: (void *)buffer length: (size_t)length
{
ssize_t ret;
if (_handle == OF_INVALID_FILE_HANDLE)
@throw [OFNotOpenException exceptionWithObject: self];
#if defined(OF_WINDOWS)
if (length > UINT_MAX)
@throw [OFOutOfRangeException exception];
if ((ret = read(_handle, buffer, (unsigned int)length)) < 0)
|
|
|
|
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
|
_handle = handle;
return self;
}
- (bool)lowlevelIsAtEndOfStream
{
if (_handle == OFInvalidFileHandle)
@throw [OFNotOpenException exceptionWithObject: self];
return _atEndOfStream;
}
- (size_t)lowlevelReadIntoBuffer: (void *)buffer length: (size_t)length
{
ssize_t ret;
if (_handle == OFInvalidFileHandle)
@throw [OFNotOpenException exceptionWithObject: self];
#if defined(OF_WINDOWS)
if (length > UINT_MAX)
@throw [OFOutOfRangeException exception];
if ((ret = read(_handle, buffer, (unsigned int)length)) < 0)
|
︙ | | | ︙ | |
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
|
_atEndOfStream = true;
return ret;
}
- (size_t)lowlevelWriteBuffer: (const void *)buffer length: (size_t)length
{
if (_handle == OF_INVALID_FILE_HANDLE)
@throw [OFNotOpenException exceptionWithObject: self];
#if defined(OF_WINDOWS)
int bytesWritten;
if (length > INT_MAX)
@throw [OFOutOfRangeException exception];
|
|
|
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
|
_atEndOfStream = true;
return ret;
}
- (size_t)lowlevelWriteBuffer: (const void *)buffer length: (size_t)length
{
if (_handle == OFInvalidFileHandle)
@throw [OFNotOpenException exceptionWithObject: self];
#if defined(OF_WINDOWS)
int bytesWritten;
if (length > INT_MAX)
@throw [OFOutOfRangeException exception];
|
︙ | | | ︙ | |
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
|
return (size_t)bytesWritten;
}
- (OFFileOffset)lowlevelSeekToOffset: (OFFileOffset)offset whence: (int)whence
{
OFFileOffset ret;
if (_handle == OF_INVALID_FILE_HANDLE)
@throw [OFNotOpenException exceptionWithObject: self];
#ifndef OF_AMIGAOS
# if defined(OF_WINDOWS)
ret = _lseeki64(_handle, offset, whence);
# elif defined(HAVE_LSEEK64)
ret = lseek64(_handle, offset, whence);
|
|
|
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
|
return (size_t)bytesWritten;
}
- (OFFileOffset)lowlevelSeekToOffset: (OFFileOffset)offset whence: (int)whence
{
OFFileOffset ret;
if (_handle == OFInvalidFileHandle)
@throw [OFNotOpenException exceptionWithObject: self];
#ifndef OF_AMIGAOS
# if defined(OF_WINDOWS)
ret = _lseeki64(_handle, offset, whence);
# elif defined(HAVE_LSEEK64)
ret = lseek64(_handle, offset, whence);
|
︙ | | | ︙ | |
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
|
{
return _handle;
}
#endif
- (void)close
{
if (_handle == OF_INVALID_FILE_HANDLE)
@throw [OFNotOpenException exceptionWithObject: self];
closeHandle(_handle);
_handle = OF_INVALID_FILE_HANDLE;
[super close];
}
- (void)dealloc
{
if (_handle != OF_INVALID_FILE_HANDLE)
[self close];
[super dealloc];
}
@end
|
|
|
|
|
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
|
{
return _handle;
}
#endif
- (void)close
{
if (_handle == OFInvalidFileHandle)
@throw [OFNotOpenException exceptionWithObject: self];
closeHandle(_handle);
_handle = OFInvalidFileHandle;
[super close];
}
- (void)dealloc
{
if (_handle != OFInvalidFileHandle)
[self close];
[super dealloc];
}
@end
|