170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
- (OFTarArchiveEntry *)nextEntry
{
uint32_t buffer[512 / sizeof(uint32_t)];
bool empty = true;
if (_mode != OFTarArchiveModeRead)
@throw [OFInvalidArgumentException exception];
[_currentEntry release];
_currentEntry = nil;
[(OFTarArchiveFileReadStream *)_lastReturnedStream of_skip];
@try {
[_lastReturnedStream close];
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
- (OFTarArchiveEntry *)nextEntry
{
uint32_t buffer[512 / sizeof(uint32_t)];
bool empty = true;
if (_mode != OFTarArchiveModeRead)
@throw [OFInvalidArgumentException exception];
if (_currentEntry != nil && _lastReturnedStream == nil) {
/*
* No read stream was created since the last call to
* -[nextEntry]. Create it so that we can properly skip the
* data.
*/
void *pool = objc_autoreleasePoolPush();
[self streamForReadingCurrentEntry];
objc_autoreleasePoolPop(pool);
}
[_currentEntry release];
_currentEntry = nil;
[(OFTarArchiveFileReadStream *)_lastReturnedStream of_skip];
@try {
[_lastReturnedStream close];
|