335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
|
-
+
-
-
+
-
|
}
directory = outFileName.stringByDeletingLastPathComponent;
if (![fileManager directoryExistsAtPath: directory])
[fileManager createDirectoryAtPath: directory
createParents: true];
if (![app shouldExtractFile: fileName
if (![app shouldExtractFile: fileName outFileName: outFileName])
outFileName: outFileName])
goto outer_loop_end;
stream = [_archive streamForReadingCurrentEntry];
output = [OFFile fileWithPath: outFileName
output = [OFFile fileWithPath: outFileName mode: @"w"];
mode: @"w"];
setPermissions(outFileName, entry);
while (!stream.atEndOfStream) {
ssize_t length = [app copyBlockFromStream: stream
toStream: output
fileName: fileName];
|