ObjFW  Check-in [85c16c3a42]

Overview
Comment:OFZIPArchive_FileStream: Add _closed ivar
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 85c16c3a427b254898355207f45b0dc9e5ddb3979e786b8412ad757a3f4816c9
User & Date: js on 2015-05-10 21:48:46
Other Links: manifest | tags
Context
2015-05-14
09:10
initWithContentsOfURL: Require files or sockets check-in: dbe286c39f user: js tags: trunk
2015-05-10
21:48
OFZIPArchive_FileStream: Add _closed ivar check-in: 85c16c3a42 user: js tags: trunk
00:42
PLATFORMS.md: Add NetBSD/SPARC64 check-in: e591d17419 user: js tags: trunk
Changes

Modified src/OFZIPArchive.m from [6109b2512a] to [d48f1a83ef].

71
72
73
74
75
76
77
78

79
80
81
82
83
84
85
71
72
73
74
75
76
77

78
79
80
81
82
83
84
85







-
+







@interface OFZIPArchive_FileStream: OFStream
{
	OFStream *_stream, *_decompressedStream;
	OFZIPArchive_LocalFileHeader *_localFileHeader;
	bool _hasDataDescriptor;
	uint64_t _size;
	uint32_t _CRC32;
	bool _atEndOfStream;
	bool _atEndOfStream, _closed;
}

-  initWithStream: (OFStream*)path
  localFileHeader: (OFZIPArchive_LocalFileHeader*)localFileHeader;
@end

uint32_t
521
522
523
524
525
526
527
528

529
530
531
532
533
534
535
521
522
523
524
525
526
527

528
529
530
531
532
533
534
535







-
+







}

- (size_t)lowlevelReadIntoBuffer: (void*)buffer
			  length: (size_t)length
{
	size_t min, ret;

	if (_atEndOfStream)
	if (_atEndOfStream || _closed)
		@throw [OFReadFailedException exceptionWithObject: self
						  requestedLength: length];

	if (_hasDataDescriptor) {
		if ([_decompressedStream isAtEndOfStream]) {
			uint32_t CRC32;

571
572
573
574
575
576
577
578

579
580
571
572
573
574
575
576
577

578
579
580







-
+


	_CRC32 = crc32(_CRC32, buffer, ret);

	return ret;
}

- (void)close
{
	_atEndOfStream = true;
	_closed = true;
}
@end