Differences From Artifact [f5a88ae9e6]:
- File src/OFTarArchiveEntry.m — part of check-in [98c64d0af9] at 2022-08-27 21:24:27 on branch trunk — OFTarArchiveEntry: Rename size to uncompressedSize (user: js, size: 8030) [annotate] [blame] [check-ins using]
To Artifact [91a459baa0]:
- File
src/OFTarArchiveEntry.m
— part of check-in
[d281c3198b]
at
2022-08-27 22:29:44
on branch trunk
— OFTarArchiveEntry: Make mode/UID/GID an OFNumber
This is for consistency with OFLHAArchiveEntry. (user: js, size: 8285) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | */ #include "config.h" #import "OFTarArchiveEntry.h" #import "OFTarArchiveEntry+Private.h" #import "OFDate.h" #import "OFStream.h" #import "OFString.h" #import "OFOutOfRangeException.h" static OFString * stringFromBuffer(const unsigned char *buffer, size_t length, | > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | */ #include "config.h" #import "OFTarArchiveEntry.h" #import "OFTarArchiveEntry+Private.h" #import "OFDate.h" #import "OFNumber.h" #import "OFStream.h" #import "OFString.h" #import "OFOutOfRangeException.h" static OFString * stringFromBuffer(const unsigned char *buffer, size_t length, |
︙ | ︙ | |||
79 80 81 82 83 84 85 | OF_INVALID_INIT_METHOD } - (instancetype)of_init { self = [super init]; | > | | > > > > | | | | | | | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | OF_INVALID_INIT_METHOD } - (instancetype)of_init { self = [super init]; @try { _type = OFTarArchiveEntryTypeFile; _mode = [[OFNumber alloc] initWithUnsignedShort: 0644]; } @catch (id e) { [self release]; @throw e; } return self; } - (instancetype)of_initWithHeader: (unsigned char [512])header encoding: (OFStringEncoding)encoding { self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); OFString *targetFileName; _fileName = [stringFromBuffer(header, 100, encoding) copy]; _mode = [[OFNumber alloc] initWithUnsignedLongLong: octalValueFromBuffer(header + 100, 8, ULONG_MAX)]; _UID = [[OFNumber alloc] initWithUnsignedLongLong: octalValueFromBuffer(header + 108, 8, ULONG_MAX)]; _GID = [[OFNumber alloc] initWithUnsignedLongLong: octalValueFromBuffer(header + 116, 8, ULONG_MAX)]; _uncompressedSize = (unsigned long long)octalValueFromBuffer( header + 124, 12, ULLONG_MAX); _compressedSize = _uncompressedSize + (512 - _uncompressedSize % 512); _modificationDate = [[OFDate alloc] initWithTimeIntervalSince1970: (OFTimeInterval)octalValueFromBuffer( |
︙ | ︙ | |||
153 154 155 156 157 158 159 160 161 162 163 164 165 166 | return self; } - (void)dealloc { [_fileName release]; [_modificationDate release]; [_targetFileName release]; [_owner release]; [_group release]; [super dealloc]; } | > > > | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | return self; } - (void)dealloc { [_fileName release]; [_mode release]; [_UID release]; [_GID release]; [_modificationDate release]; [_targetFileName release]; [_owner release]; [_group release]; [super dealloc]; } |
︙ | ︙ | |||
195 196 197 198 199 200 201 | } - (OFString *)fileName { return _fileName; } | | | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | } - (OFString *)fileName { return _fileName; } - (OFNumber *)mode { return _mode; } - (OFNumber *)UID { return _UID; } - (OFNumber *)GID { return _GID; } - (unsigned long long)compressedSize { return _compressedSize; |
︙ | ︙ |