ObjFW  Check-in [41e83e895c]

Overview
Comment:OFZIPArchiveEntry: Add generalPurposeBitFlag

This existed before, but was private.

Additionally, ofzip -lvvv now also shows the general purpose bit flag.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 41e83e895cca3f72d1cb620e737ee2180da84fad8b78084628cd40e5b9809334
User & Date: js on 2016-05-06 14:09:29
Other Links: manifest | tags
Context
2016-05-06
16:03
OFHTTPClient: Allow overriding Host header check-in: db91b57393 user: js tags: trunk
14:09
OFZIPArchiveEntry: Add generalPurposeBitFlag check-in: 41e83e895c user: js tags: trunk
2016-05-05
19:54
OFStream: Cache small reads to reduce syscalls check-in: a7d66e7ab2 user: js tags: trunk
Changes

Modified src/OFZIPArchiveEntry+Private.h from [4aa1c3a5fa] to [1c2a99ad72].

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 */

#import "OFZIPArchive.h"

OF_ASSUME_NONNULL_BEGIN

@interface OFZIPArchiveEntry ()
@property (readonly) uint16_t OF_generalPurposeBitFlag, OF_lastModifiedFileTime;
@property (readonly) uint16_t OF_lastModifiedFileDate;
@property (readonly) uint64_t OF_localFileHeaderOffset;

- (instancetype)OF_initWithStream: (OFStream*)stream;
@end

OF_ASSUME_NONNULL_END







<
|






15
16
17
18
19
20
21

22
23
24
25
26
27
28
 */

#import "OFZIPArchive.h"

OF_ASSUME_NONNULL_BEGIN

@interface OFZIPArchiveEntry ()

@property (readonly) uint16_t OF_lastModifiedFileTime, OF_lastModifiedFileDate;
@property (readonly) uint64_t OF_localFileHeaderOffset;

- (instancetype)OF_initWithStream: (OFStream*)stream;
@end

OF_ASSUME_NONNULL_END

Modified src/OFZIPArchiveEntry.h from [e90a403779] to [9a4ea2bd46].

164
165
166
167
168
169
170







171
172
173
174
175
176
177
 * The version specific attributes.
 *
 * The meaning of the version specific attributes depends on the attribute
 * compatibility part of the version that made the entry.
 */
@property (readonly) uint32_t versionSpecificAttributes;








/*!
 * @brief Returns the last modification date of the entry's file.
 *
 * @return The last modification date of the entry's file
 */
- (OFDate*)modificationDate;








>
>
>
>
>
>
>







164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
 * The version specific attributes.
 *
 * The meaning of the version specific attributes depends on the attribute
 * compatibility part of the version that made the entry.
 */
@property (readonly) uint32_t versionSpecificAttributes;

/*!
 * The general purpose bit flag of the entry.
 *
 * See the ZIP specification for details.
 */
@property (readonly) uint16_t generalPurposeBitFlag;

/*!
 * @brief Returns the last modification date of the entry's file.
 *
 * @return The last modification date of the entry's file
 */
- (OFDate*)modificationDate;

Modified src/OFZIPArchiveEntry.m from [1b46fcc45c] to [c38a694f2c].

144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
@synthesize versionMadeBy = _versionMadeBy;
@synthesize minVersionNeeded = _minVersionNeeded;
@synthesize compressionMethod = _compressionMethod;
@synthesize compressedSize = _compressedSize;
@synthesize uncompressedSize = _uncompressedSize;
@synthesize CRC32 = _CRC32;
@synthesize versionSpecificAttributes = _versionSpecificAttributes;
@synthesize OF_generalPurposeBitFlag = _generalPurposeBitFlag;
@synthesize OF_lastModifiedFileTime = _lastModifiedFileTime;
@synthesize OF_lastModifiedFileDate = _lastModifiedFileDate;
@synthesize OF_localFileHeaderOffset = _localFileHeaderOffset;

- (instancetype)OF_initWithStream: (OFStream*)stream
{
	self = [super init];







|







144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
@synthesize versionMadeBy = _versionMadeBy;
@synthesize minVersionNeeded = _minVersionNeeded;
@synthesize compressionMethod = _compressionMethod;
@synthesize compressedSize = _compressedSize;
@synthesize uncompressedSize = _uncompressedSize;
@synthesize CRC32 = _CRC32;
@synthesize versionSpecificAttributes = _versionSpecificAttributes;
@synthesize generalPurposeBitFlag = _generalPurposeBitFlag;
@synthesize OF_lastModifiedFileTime = _lastModifiedFileTime;
@synthesize OF_lastModifiedFileDate = _lastModifiedFileDate;
@synthesize OF_localFileHeaderOffset = _localFileHeaderOffset;

- (instancetype)OF_initWithStream: (OFStream*)stream
{
	self = [super init];

Modified utils/ofzip/ZIPArchive.m from [39fb4a5f77] to [03760bd752].

123
124
125
126
127
128
129
130




131
132
133
134
135
136
137
138
					    versionSpecificAttributes] >> 16;
					[of_stdout writeFormat:
					    @"\tMode: %06o\n", mode];
				}
			}

			if (app->_outputLevel >= 3)
				[of_stdout writeFormat: @"\tExtra field: %@\n",




							[entry extraField]];

			if ([[entry fileComment] length] > 0)
				[of_stdout writeFormat: @"\tComment: %@\n",
							[entry fileComment]];
		}

		objc_autoreleasePoolPop(pool);







|
>
>
>
>
|







123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
					    versionSpecificAttributes] >> 16;
					[of_stdout writeFormat:
					    @"\tMode: %06o\n", mode];
				}
			}

			if (app->_outputLevel >= 3)
				[of_stdout writeFormat:
				    @"\tGeneral purpose bit flag: "
				    @"%04" PRIx16 "\n"
				    @"\tExtra field: %@\n",
				    [entry generalPurposeBitFlag],
				    [entry extraField]];

			if ([[entry fileComment] length] > 0)
				[of_stdout writeFormat: @"\tComment: %@\n",
							[entry fileComment]];
		}

		objc_autoreleasePoolPop(pool);