33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#import "OFInflate64Stream.h"
#import "OFChecksumMismatchException.h"
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFNotImplementedException.h"
#import "OFNotOpenException.h"
#import "OFOpenItemFailedException.h"
#import "OFOutOfRangeException.h"
#import "OFSeekFailedException.h"
#import "OFTruncatedDataException.h"
#import "OFUnsupportedVersionException.h"
#import "OFWriteFailedException.h"
/*
|
<
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#import "OFInflate64Stream.h"
#import "OFChecksumMismatchException.h"
#import "OFInvalidArgumentException.h"
#import "OFInvalidFormatException.h"
#import "OFNotImplementedException.h"
#import "OFNotOpenException.h"
#import "OFOutOfRangeException.h"
#import "OFSeekFailedException.h"
#import "OFTruncatedDataException.h"
#import "OFUnsupportedVersionException.h"
#import "OFWriteFailedException.h"
/*
|
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
|
if (_stream == nil)
@throw [OFNotOpenException exceptionWithObject: self];
if (_mode != modeRead)
@throw [OFInvalidArgumentException exception];
if ((entry = [_pathToEntryMap objectForKey: path]) == nil)
@throw [OFOpenItemFailedException exceptionWithPath: path
mode: @"r"
errNo: ENOENT];
[self of_closeLastReturnedStream];
offset64 = entry.of_localFileHeaderOffset;
if (offset64 < 0 || (OFFileOffset)offset64 != offset64)
@throw [OFOutOfRangeException exception];
|
|
<
<
|
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
|
if (_stream == nil)
@throw [OFNotOpenException exceptionWithObject: self];
if (_mode != modeRead)
@throw [OFInvalidArgumentException exception];
if ((entry = [_pathToEntryMap objectForKey: path]) == nil)
@throw [OFInvalidArgumentException exception];
[self of_closeLastReturnedStream];
offset64 = entry.of_localFileHeaderOffset;
if (offset64 < 0 || (OFFileOffset)offset64 != offset64)
@throw [OFOutOfRangeException exception];
|
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
|
if (_mode != modeWrite && _mode != modeAppend)
@throw [OFInvalidArgumentException exception];
pool = objc_autoreleasePoolPush();
entry = [[entry_ mutableCopy] autorelease];
if ([_pathToEntryMap objectForKey: entry.fileName] != nil)
@throw [OFOpenItemFailedException
exceptionWithPath: entry.fileName
mode: @"w"
errNo: EEXIST];
if (entry.compressionMethod != OFZIPArchiveEntryCompressionMethodNone)
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
[self of_closeLastReturnedStream];
|
|
<
<
<
|
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
|
if (_mode != modeWrite && _mode != modeAppend)
@throw [OFInvalidArgumentException exception];
pool = objc_autoreleasePoolPush();
entry = [[entry_ mutableCopy] autorelease];
if ([_pathToEntryMap objectForKey: entry.fileName] != nil)
@throw [OFInvalidArgumentException exception];
if (entry.compressionMethod != OFZIPArchiveEntryCompressionMethodNone)
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
[self of_closeLastReturnedStream];
|