ObjFW  Check-in [f663d40cbd]

Overview
Comment:Also use nonatomic for non-object properties
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f663d40cbd42bf95c37b1415cf717ae147690f1eb69fa5f7d08f06e8d4da7ff1
User & Date: js on 2017-05-13 16:29:52
Other Links: manifest | tags
Context
2017-05-13
16:34
OFAddressTranslationFailedException: Fix typo check-in: ed94121c31 user: js tags: trunk
16:29
Also use nonatomic for non-object properties check-in: f663d40cbd user: js tags: trunk
2017-05-09
21:25
Add a few missing OF_ASSUME_NONNULL_{BEGIN,END} check-in: 13965af7a1 user: js tags: trunk
Changes

Modified configure.ac from [b157727f9f] to [8fe8f7a499].

155
156
157
158
159
160
161


162
163
164
165
166
167
168
169


170
171
172
173
174
175
176

AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"])
AX_CHECK_COMPILER_FLAGS(-fno-common, [OBJCFLAGS="$OBJCFLAGS -fno-common"])
AX_CHECK_COMPILER_FLAGS(-fno-constant-cfstrings, [
	OBJCFLAGS="$OBJCFLAGS -fno-constant-cfstrings"
	AC_SUBST(NO_CONST_CFSTRINGS, "-fno-constant-cfstrings")
])


AX_CHECK_COMPILER_FLAGS(-Wshorten-64-to-32 -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wshorten-64-to-32"])
AX_CHECK_COMPILER_FLAGS(-Wsemicolon-before-method-body -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wsemicolon-before-method-body"])
AX_CHECK_COMPILER_FLAGS(-Wobjc-missing-property-synthesis -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wobjc-missing-property-synthesis"])
AX_CHECK_COMPILER_FLAGS(-Wsign-compare -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wsign-compare"])



AC_MSG_CHECKING(whether Objective C compiler supports properties)
AC_TRY_COMPILE([
	@interface Foo
	{
		id bar;
	}







>
>






|
|
>
>







155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180

AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"])
AX_CHECK_COMPILER_FLAGS(-fno-common, [OBJCFLAGS="$OBJCFLAGS -fno-common"])
AX_CHECK_COMPILER_FLAGS(-fno-constant-cfstrings, [
	OBJCFLAGS="$OBJCFLAGS -fno-constant-cfstrings"
	AC_SUBST(NO_CONST_CFSTRINGS, "-fno-constant-cfstrings")
])
AX_CHECK_COMPILER_FLAGS(-Wsign-compare -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wsign-compare"])
AX_CHECK_COMPILER_FLAGS(-Wshorten-64-to-32 -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wshorten-64-to-32"])
AX_CHECK_COMPILER_FLAGS(-Wsemicolon-before-method-body -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wsemicolon-before-method-body"])
AX_CHECK_COMPILER_FLAGS(-Wobjc-missing-property-synthesis -Werror,
	[OBJCFLAGS="$OBJCFLAGS -Wobjc-missing-property-synthesis"])
AX_CHECK_COMPILER_FLAGS(-Watomic-properties -Werror, [
	OBJCFLAGS="$OBJCFLAGS -Watomic-properties"
	TESTS_OBJCFLAGS="$TESTS_OBJCFLAGS -Wno-atomic-properties"
])

AC_MSG_CHECKING(whether Objective C compiler supports properties)
AC_TRY_COMPILE([
	@interface Foo
	{
		id bar;
	}
1467
1468
1469
1470
1471
1472
1473

1474
1475
1476
1477
1478
1479
1480
AC_SUBST(CPP)
AC_SUBST(CPPFLAGS)
dnl We use the ObjC compiler as our assembler
AC_SUBST(AS, $OBJC)
AC_SUBST(ASFLAGS)
AC_SUBST(AS_DEPENDS, '${OBJC_DEPENDS}')


AC_SUBST(TESTS_LIBS)

AC_CONFIG_FILES([
	buildsys.mk
	extra.mk
	misc/Bridge-Info.plist
	misc/Info.plist







>







1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
AC_SUBST(CPP)
AC_SUBST(CPPFLAGS)
dnl We use the ObjC compiler as our assembler
AC_SUBST(AS, $OBJC)
AC_SUBST(ASFLAGS)
AC_SUBST(AS_DEPENDS, '${OBJC_DEPENDS}')

AC_SUBST(TESTS_OBJCFLAGS)
AC_SUBST(TESTS_LIBS)

AC_CONFIG_FILES([
	buildsys.mk
	extra.mk
	misc/Bridge-Info.plist
	misc/Info.plist

Modified extra.mk.in from [231bfb1ae9] to [7295fda980].

50
51
52
53
54
55
56

57
58
59
60
61
62
63
64
RUNTIME_A = @RUNTIME_A@
RUNTIME_LIB_A = @RUNTIME_LIB_A@
RUNTIME_RUNTIME_A = @RUNTIME_RUNTIME_A@
RUNTIME_RUNTIME_LIB_A = @RUNTIME_RUNTIME_LIB_A@
RUN_TESTS = @RUN_TESTS@
TESTPLUGIN = @TESTPLUGIN@
TESTS_LIBS = @TESTS_LIBS@

TEST_LAUNCHER = @TEST_LAUNCHER@
UNICODE_M = @UNICODE_M@
USE_INCLUDES_ATOMIC = @USE_INCLUDES_ATOMIC@
USE_SRCS_FILES = @USE_SRCS_FILES@
USE_SRCS_PLUGINS = @USE_SRCS_PLUGINS@
USE_SRCS_SOCKETS = @USE_SRCS_SOCKETS@
USE_SRCS_THREADS = @USE_SRCS_THREADS@
WEAK_NSFOUNDATIONVERSIONNUMBER = @WEAK_NSFOUNDATIONVERSIONNUMBER@







>








50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
RUNTIME_A = @RUNTIME_A@
RUNTIME_LIB_A = @RUNTIME_LIB_A@
RUNTIME_RUNTIME_A = @RUNTIME_RUNTIME_A@
RUNTIME_RUNTIME_LIB_A = @RUNTIME_RUNTIME_LIB_A@
RUN_TESTS = @RUN_TESTS@
TESTPLUGIN = @TESTPLUGIN@
TESTS_LIBS = @TESTS_LIBS@
TESTS_OBJCFLAGS = @TESTS_OBJCFLAGS@
TEST_LAUNCHER = @TEST_LAUNCHER@
UNICODE_M = @UNICODE_M@
USE_INCLUDES_ATOMIC = @USE_INCLUDES_ATOMIC@
USE_SRCS_FILES = @USE_SRCS_FILES@
USE_SRCS_PLUGINS = @USE_SRCS_PLUGINS@
USE_SRCS_SOCKETS = @USE_SRCS_SOCKETS@
USE_SRCS_THREADS = @USE_SRCS_THREADS@
WEAK_NSFOUNDATIONVERSIONNUMBER = @WEAK_NSFOUNDATIONVERSIONNUMBER@

Modified src/OFCryptoHash.h from [fb07c27325] to [c3a8ed0de1].

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 * state is copied, allowing to calculate a new hash from there. This is
 * especially useful for generating many hashes with a common prefix.
 */
@protocol OFCryptoHash <OFObject, OFCopying>
/*!
 * A boolean whether the hash has already been calculated.
 */
@property (readonly, getter=isCalculated) bool calculated;

/*!
 * @brief Creates a new cryptographic hash.
 *
 * @return A new autoreleased OFCryptoHash
 */
+ (instancetype)cryptoHash;







|







27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 * state is copied, allowing to calculate a new hash from there. This is
 * especially useful for generating many hashes with a common prefix.
 */
@protocol OFCryptoHash <OFObject, OFCopying>
/*!
 * A boolean whether the hash has already been calculated.
 */
@property (readonly, nonatomic, getter=isCalculated) bool calculated;

/*!
 * @brief Creates a new cryptographic hash.
 *
 * @return A new autoreleased OFCryptoHash
 */
+ (instancetype)cryptoHash;

Modified src/OFDataArray.h from [dfeb1bb755] to [03e99d7c84].

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
	uint8_t *_items;
	size_t _count, _itemSize, _capacity;
}

/*!
 * The size of a single item in the OFDataArray in bytes.
 */
@property (readonly) size_t itemSize;

/*!
 * @brief Creates a new OFDataArray with an item size of 1.
 *
 * @return A new autoreleased OFDataArray
 */
+ (instancetype)dataArray;







|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
	uint8_t *_items;
	size_t _count, _itemSize, _capacity;
}

/*!
 * The size of a single item in the OFDataArray in bytes.
 */
@property (readonly, nonatomic) size_t itemSize;

/*!
 * @brief Creates a new OFDataArray with an item size of 1.
 *
 * @return A new autoreleased OFDataArray
 */
+ (instancetype)dataArray;

Modified src/OFHTTPClient.h from [8fd8945807] to [7523e2d4b7].

108
109
110
111
112
113
114
115

116
117
118
119
120
121
122
123
124
125
126
127
	bool _lastWasHEAD;
	OFHTTPResponse *_lastResponse;
}

/*!
 * The delegate of the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFHTTPClientDelegate> delegate;


/*!
 * Whether redirects from HTTPS to HTTP will be allowed.
 */
@property bool insecureRedirectsAllowed;

/*!
 * @brief Creates a new OFHTTPClient.
 *
 * @return A new, autoreleased OFHTTPClient
 */
+ (instancetype)client;







|
>




|







108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
	bool _lastWasHEAD;
	OFHTTPResponse *_lastResponse;
}

/*!
 * The delegate of the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFHTTPClientDelegate> delegate;

/*!
 * Whether redirects from HTTPS to HTTP will be allowed.
 */
@property (nonatomic) bool insecureRedirectsAllowed;

/*!
 * @brief Creates a new OFHTTPClient.
 *
 * @return A new, autoreleased OFHTTPClient
 */
+ (instancetype)client;

Modified src/OFHTTPCookie.h from [e996e1649d] to [034b988288].

59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 * The path for the cookie.
 */
@property (nonatomic, copy) OFString *path;

/*!
 * Whether the cookie is only to be used with HTTPS.
 */
@property (getter=isSecure) bool secure;

/*!
 * Whether the cookie is only to be accessed through HTTP.
 */
@property (getter=isHTTPOnly) bool HTTPOnly;

/*!
 * An array of other attributes.
 */
@property (readonly, nonatomic)
    OFMutableArray OF_GENERIC(OFString *) *extensions;








|




|







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 * The path for the cookie.
 */
@property (nonatomic, copy) OFString *path;

/*!
 * Whether the cookie is only to be used with HTTPS.
 */
@property (nonatomic, getter=isSecure) bool secure;

/*!
 * Whether the cookie is only to be accessed through HTTP.
 */
@property (nonatomic, getter=isHTTPOnly) bool HTTPOnly;

/*!
 * An array of other attributes.
 */
@property (readonly, nonatomic)
    OFMutableArray OF_GENERIC(OFString *) *extensions;

Modified src/OFHTTPRequest.h from [9f0eddeab0] to [db98ef2863].

86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 * The URL of the HTTP request.
 */
@property (nonatomic, copy) OFURL *URL;

/*!
 * The request method of the HTTP request.
 */
@property of_http_request_method_t method;

/*!
 * The headers for the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy)
    OFDictionary OF_GENERIC(OFString *, OFString *) *headers;








|







86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 * The URL of the HTTP request.
 */
@property (nonatomic, copy) OFURL *URL;

/*!
 * The request method of the HTTP request.
 */
@property (nonatomic) of_http_request_method_t method;

/*!
 * The headers for the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy)
    OFDictionary OF_GENERIC(OFString *, OFString *) *headers;

Modified src/OFHTTPResponse.h from [88ee04dd60] to [8c2cdf93f1].

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	OFDictionary OF_GENERIC(OFString *, OFString *) *_headers;
	OFArray OF_GENERIC(OFHTTPCookie *) *_cookies;
}

/*!
 * The status code of the reply to the HTTP request.
 */
@property short statusCode;

/*!
 * The headers of the reply to the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy)
    OFDictionary OF_GENERIC(OFString *, OFString *) *headers;








|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	OFDictionary OF_GENERIC(OFString *, OFString *) *_headers;
	OFArray OF_GENERIC(OFHTTPCookie *) *_cookies;
}

/*!
 * The status code of the reply to the HTTP request.
 */
@property (nonatomic) short statusCode;

/*!
 * The headers of the reply to the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy)
    OFDictionary OF_GENERIC(OFString *, OFString *) *headers;

Modified src/OFHTTPServer.h from [7497041027] to [6f778fd782].

99
100
101
102
103
104
105
106
107
108
109
110
111

112
113
114
115
116
117
118
 * The host on which the HTTP server will listen.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *host;

/*!
 * The port on which the HTTP server will listen.
 */
@property uint16_t port;

/*!
 * The delegate for the HTTP server.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFHTTPServerDelegate> delegate;


/*!
 * The server name the server presents to clients.
 *
 * Setting it to `nil` means no `Server` header will be sent, unless one is
 * specified in the response headers.
 */







|




|
>







99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
 * The host on which the HTTP server will listen.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *host;

/*!
 * The port on which the HTTP server will listen.
 */
@property (nonatomic) uint16_t port;

/*!
 * The delegate for the HTTP server.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFHTTPServerDelegate> delegate;

/*!
 * The server name the server presents to clients.
 *
 * Setting it to `nil` means no `Server` header will be sent, unless one is
 * specified in the response headers.
 */

Modified src/OFIntrospection.h from [f61e265eb4] to [430d3cc423].

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
	OFString *_name;
	const char *_typeEncoding;
}

/*!
 * The selector of the method.
 */
@property (readonly) SEL selector;

/*!
 * The name of the method.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The type encoding for the method.
 */
@property OF_NULLABLE_PROPERTY (readonly) const char *typeEncoding;

- init OF_UNAVAILABLE;
@end

/*!
 * @class OFProperty OFIntrospection.h ObjFW/OFIntrospection.h
 *







|









|







48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
	OFString *_name;
	const char *_typeEncoding;
}

/*!
 * The selector of the method.
 */
@property (readonly, nonatomic) SEL selector;

/*!
 * The name of the method.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The type encoding for the method.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const char *typeEncoding;

- init OF_UNAVAILABLE;
@end

/*!
 * @class OFProperty OFIntrospection.h ObjFW/OFIntrospection.h
 *
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
 * OF_PROPERTY_COPY              | The property is declared `copy`
 * OF_PROPERTY_NONATOMIC         | The property is declared `nonatomic`
 * OF_PROPERTY_ATOMIC            | The property is declared `atomic`
 * OF_PROPERTY_WEAK              | The property is declared `weak`
 * OF_PROPERTY_SYNTHESIZED       | The property is synthesized
 * OF_PROPERTY_DYNAMIC           | The property is dynamic
 */
@property (readonly) unsigned attributes;

/*!
 * The name of the getter.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *getter;

/*!







|







97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
 * OF_PROPERTY_COPY              | The property is declared `copy`
 * OF_PROPERTY_NONATOMIC         | The property is declared `nonatomic`
 * OF_PROPERTY_ATOMIC            | The property is declared `atomic`
 * OF_PROPERTY_WEAK              | The property is declared `weak`
 * OF_PROPERTY_SYNTHESIZED       | The property is synthesized
 * OF_PROPERTY_DYNAMIC           | The property is dynamic
 */
@property (readonly, nonatomic) unsigned attributes;

/*!
 * The name of the getter.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *getter;

/*!
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
 * The name of the instance variable.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The offset of the instance variable.
 */
@property (readonly) ptrdiff_t offset;

/*!
 * The type encoding for the instance variable.
 */
@property OF_NULLABLE_PROPERTY (readonly) const char *typeEncoding;

- init OF_UNAVAILABLE;
@end

/*!
 * @class OFIntrospection OFIntrospection.h ObjFW/OFIntrospection.h
 *







|




|







132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
 * The name of the instance variable.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The offset of the instance variable.
 */
@property (readonly, nonatomic) ptrdiff_t offset;

/*!
 * The type encoding for the instance variable.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const char *typeEncoding;

- init OF_UNAVAILABLE;
@end

/*!
 * @class OFIntrospection OFIntrospection.h ObjFW/OFIntrospection.h
 *

Modified src/OFKernelEventObserver.h from [e653f3b4a2] to [d08ae9a87d].

124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
	OFDataArray *_queueActions;
	OFMutableArray *_queueObjects;
}

/*!
 * The delegate for the OFKernelEventObserver.
 */
@property OF_NULLABLE_PROPERTY (assign)
    id <OFKernelEventObserverDelegate> delegate;

/*!
 * @brief Creates a new OFKernelEventObserver.
 *
 * @return A new, autoreleased OFKernelEventObserver
 */







|







124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
	OFDataArray *_queueActions;
	OFMutableArray *_queueObjects;
}

/*!
 * The delegate for the OFKernelEventObserver.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFKernelEventObserverDelegate> delegate;

/*!
 * @brief Creates a new OFKernelEventObserver.
 *
 * @return A new, autoreleased OFKernelEventObserver
 */

Modified src/OFList.h from [feabf2e6ec] to [c326019649].

59
60
61
62
63
64
65
66

67
68
69
70
71

72
73
74
75
76
77
78
	size_t		 _count;
	unsigned long	 _mutations;
}

/*!
 * The first list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly) of_list_object_t *firstListObject;


/*!
 * The last list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly) of_list_object_t *lastListObject;


/*!
 * @brief Creates a new OFList.
 *
 * @return A new autoreleased OFList
 */
+ (instancetype)list;







|
>




|
>







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
	size_t		 _count;
	unsigned long	 _mutations;
}

/*!
 * The first list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    of_list_object_t *firstListObject;

/*!
 * The last list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    of_list_object_t *lastListObject;

/*!
 * @brief Creates a new OFList.
 *
 * @return A new autoreleased OFList
 */
+ (instancetype)list;

Modified src/OFLocalization.h from [368d40b91d] to [f635a4f99c].

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 * The native 8-bit string encoding of the locale for messages.
 *
 * This is useful to encode strings correctly for passing them to operating
 * system calls.
 *
 * If the native 8-bit encoding is unknown, UTF-8 is assumed.
 */
@property (readonly) of_string_encoding_t encoding;

/*!
 * The decimal point of the system's locale.
 */
@property (readonly, nonatomic) OFString *decimalPoint;

/*!







|







62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 * The native 8-bit string encoding of the locale for messages.
 *
 * This is useful to encode strings correctly for passing them to operating
 * system calls.
 *
 * If the native 8-bit encoding is unknown, UTF-8 is assumed.
 */
@property (readonly, nonatomic) of_string_encoding_t encoding;

/*!
 * The decimal point of the system's locale.
 */
@property (readonly, nonatomic) OFString *decimalPoint;

/*!

Modified src/OFMapTable.h from [39ab811d56] to [9ffd8ae151].

75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
	uint8_t _rotate;
	unsigned long _mutations;
}

/*!
 * The key functions used by the map table.
 */
@property (readonly) of_map_table_functions_t keyFunctions;

/*!
 * The object functions used by the map table.
 */
@property (readonly) of_map_table_functions_t objectFunctions;

/*!
 * @brief Creates a new OFMapTable with the specified key and object functions.
 *
 * @param keyFunctions A structure of functions for handling keys
 * @param objectFunctions A structure of functions for handling objects
 * @return A new autoreleased OFMapTable







|




|







75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
	uint8_t _rotate;
	unsigned long _mutations;
}

/*!
 * The key functions used by the map table.
 */
@property (readonly, nonatomic) of_map_table_functions_t keyFunctions;

/*!
 * The object functions used by the map table.
 */
@property (readonly, nonatomic) of_map_table_functions_t objectFunctions;

/*!
 * @brief Creates a new OFMapTable with the specified key and object functions.
 *
 * @param keyFunctions A structure of functions for handling keys
 * @param objectFunctions A structure of functions for handling objects
 * @return A new autoreleased OFMapTable

Modified src/OFMessagePackExtension.h from [1d2cd153ce] to [1838881d73].

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	int8_t _type;
	OFDataArray *_data;
}

/*!
 * The MessagePack extension type.
 */
@property (readonly) int8_t type;

/*!
 * @return The data of the extension.
 */
@property (readonly, nonatomic) OFDataArray *data;

/*!







|







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	int8_t _type;
	OFDataArray *_data;
}

/*!
 * The MessagePack extension type.
 */
@property (readonly, nonatomic) int8_t type;

/*!
 * @return The data of the extension.
 */
@property (readonly, nonatomic) OFDataArray *data;

/*!

Modified src/OFNumber.h from [ae44482d26] to [d2e9d52654].

146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
	} _value;
	of_number_type_t _type;
}

/*!
 * The type of the number.
 */
@property (readonly) of_number_type_t type;

/*!
 * @brief Creates a new OFNumber with the specified bool.
 *
 * @param bool_ A bool which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */







|







146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
	} _value;
	of_number_type_t _type;
}

/*!
 * The type of the number.
 */
@property (readonly, nonatomic) of_number_type_t type;

/*!
 * @brief Creates a new OFNumber with the specified bool.
 *
 * @param bool_ A bool which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */

Modified src/OFOptionsParser.h from [649b3c8175] to [b82c75fff0].

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 * The last parsed option.
 *
 * If @ref nextOption returned `?` or `:`, this returns the option which was
 * unknown or for which the argument was missing.@n
 * If this returns `-`, the last option is only available as a long option (see
 * lastLongOption).
 */
@property (readonly) of_unichar_t lastOption;

/*!
 * The long option for the last parsed option, or `nil` if the last parsed
 * option was not passed as a long option by the user.
 *
 * In case @ref nextOption returned `?`, this contains the unknown long
 * option.@n







|







80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 * The last parsed option.
 *
 * If @ref nextOption returned `?` or `:`, this returns the option which was
 * unknown or for which the argument was missing.@n
 * If this returns `-`, the last option is only available as a long option (see
 * lastLongOption).
 */
@property (readonly, nonatomic) of_unichar_t lastOption;

/*!
 * The long option for the last parsed option, or `nil` if the last parsed
 * option was not passed as a long option by the user.
 *
 * In case @ref nextOption returned `?`, this contains the unknown long
 * option.@n

Modified src/OFSandbox.h from [caa850467d] to [1de6e8165f].

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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
121
122
123
124
125
126
127
128
129
130
131
132
133
	bool _allowsFileDescriptorReceiving, _allowsTape, _allowsTTY;
	bool _allowsProcessOperations, _allowsExec, _allowsProtExec;
	bool _allowsSetTime, _allowsPS, _allowsVMInfo;
	bool _allowsChangingProcessRights, _allowsPF, _allowsAudio, _allowsBPF;
}

/*! Allows IO operations on previously allocated file descriptors. */
@property bool allowsStdIO;

/*! Allows read access to the file system. */
@property bool allowsReadingFiles;

/*! Allows write access to the file system. */
@property bool allowsWritingFiles;

/*! Allows creating files in the file system. */
@property bool allowsCreatingFiles;

/*! Allows creating special files in the file system. */
@property bool allowsCreatingSpecialFiles;

/*! Allows creating, reading and writing temporary files in /tmp. */
@property bool allowsTemporaryFiles;

/*! Allows using IP sockets. */
@property bool allowsIPSockets;

/*! Allows multicast sockets. */
@property bool allowsMulticastSockets;

/*! Allows explicit changes to file attributes. */
@property bool allowsChangingFileAttributes;

/*! Allows changing ownership of files. */
@property bool allowsFileOwnerChanges;

/*! Allows file locks. */
@property bool allowsFileLocks;

/*! Allows UNIX sockets. */
@property bool allowsUNIXSockets;

/*! Allows syscalls necessary for DNS lookups. */
@property bool allowsDNS;

/*! Allows to look up users and groups. */
@property bool allowsUserDatabaseReading;

/*! Allows sending file descriptors via sendmsg(). */
@property bool allowsFileDescriptorSending;

/*! Allows receiving file descriptors via recvmsg(). */
@property bool allowsFileDescriptorReceiving;

/*! Allows MTIOCGET and MTIOCTOP operations on tape devices. */
@property bool allowsTape;

/*! Allows read-write operations and ioctls on the TTY. */
@property bool allowsTTY;

/*! Allows various process relationshop operations. */
@property bool allowsProcessOperations;

/*! Allows execve(). */
@property bool allowsExec;

/*! Allows PROT_EXEC for mmap() and mprotect(). */
@property bool allowsProtExec;

/*! Allows settime(). */
@property bool allowsSetTime;

/*! Allows introspection of processes on the system. */
@property bool allowsPS;

/*! Allows introspection of the system's virtual memory. */
@property bool allowsVMInfo;

/*! Allows changing the rights of process, for example the UID. */
@property bool allowsChangingProcessRights;

/*! Allows certain ioctls on the PF device. */
@property bool allowsPF;

/*! Allows certain ioctls on audio devices. */
@property bool allowsAudio;

/*! Allows BIOCGSTATS to collect statistics from a BPF device. */
@property bool allowsBPF;

/*!
 * @brief Create a new, autorelease OFSandbox.
 */
+ (instancetype)sandbox;

#ifdef OF_HAVE_PLEDGE







|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|


|







38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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
121
122
123
124
125
126
127
128
129
130
131
132
133
	bool _allowsFileDescriptorReceiving, _allowsTape, _allowsTTY;
	bool _allowsProcessOperations, _allowsExec, _allowsProtExec;
	bool _allowsSetTime, _allowsPS, _allowsVMInfo;
	bool _allowsChangingProcessRights, _allowsPF, _allowsAudio, _allowsBPF;
}

/*! Allows IO operations on previously allocated file descriptors. */
@property (nonatomic) bool allowsStdIO;

/*! Allows read access to the file system. */
@property (nonatomic) bool allowsReadingFiles;

/*! Allows write access to the file system. */
@property (nonatomic) bool allowsWritingFiles;

/*! Allows creating files in the file system. */
@property (nonatomic) bool allowsCreatingFiles;

/*! Allows creating special files in the file system. */
@property (nonatomic) bool allowsCreatingSpecialFiles;

/*! Allows creating, reading and writing temporary files in /tmp. */
@property (nonatomic) bool allowsTemporaryFiles;

/*! Allows using IP sockets. */
@property (nonatomic) bool allowsIPSockets;

/*! Allows multicast sockets. */
@property (nonatomic) bool allowsMulticastSockets;

/*! Allows explicit changes to file attributes. */
@property (nonatomic) bool allowsChangingFileAttributes;

/*! Allows changing ownership of files. */
@property (nonatomic) bool allowsFileOwnerChanges;

/*! Allows file locks. */
@property (nonatomic) bool allowsFileLocks;

/*! Allows UNIX sockets. */
@property (nonatomic) bool allowsUNIXSockets;

/*! Allows syscalls necessary for DNS lookups. */
@property (nonatomic) bool allowsDNS;

/*! Allows to look up users and groups. */
@property (nonatomic) bool allowsUserDatabaseReading;

/*! Allows sending file descriptors via sendmsg(). */
@property (nonatomic) bool allowsFileDescriptorSending;

/*! Allows receiving file descriptors via recvmsg(). */
@property (nonatomic) bool allowsFileDescriptorReceiving;

/*! Allows MTIOCGET and MTIOCTOP operations on tape devices. */
@property (nonatomic) bool allowsTape;

/*! Allows read-write operations and ioctls on the TTY. */
@property (nonatomic) bool allowsTTY;

/*! Allows various process relationshop operations. */
@property (nonatomic) bool allowsProcessOperations;

/*! Allows execve(). */
@property (nonatomic) bool allowsExec;

/*! Allows PROT_EXEC for mmap() and mprotect(). */
@property (nonatomic) bool allowsProtExec;

/*! Allows settime(). */
@property (nonatomic) bool allowsSetTime;

/*! Allows introspection of processes on the system. */
@property (nonatomic) bool allowsPS;

/*! Allows introspection of the system's virtual memory. */
@property (nonatomic) bool allowsVMInfo;

/*! Allows changing the rights of process, for example the UID. */
@property (nonatomic) bool allowsChangingProcessRights;

/*! Allows certain ioctls on the PF device. */
@property (nonatomic) bool allowsPF;

/*! Allows certain ioctls on audio devices. */
@property (nonatomic) bool allowsAudio;

/*! Allows BIOCGSTATS to collect statistics from a BPF device. */
@property (nonatomic) bool allowsBPF;

/*!
 * @brief Create a new, autorelease OFSandbox.
 */
+ (instancetype)sandbox;

#ifdef OF_HAVE_PLEDGE

Modified src/OFStream+Private.h from [f6a8d06fe4] to [dfdce57421].

15
16
17
18
19
20
21

22
23
24
25
 */

#import "OFStream.h"

OF_ASSUME_NONNULL_BEGIN

@interface OFStream ()

@property (readonly) bool OF_isWaitingForDelimiter;
@end

OF_ASSUME_NONNULL_END







>
|



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

#import "OFStream.h"

OF_ASSUME_NONNULL_BEGIN

@interface OFStream ()
@property (readonly, nonatomic, getter=OF_isWaitingForDelimiter)
    bool OF_waitingForDelimiter;
@end

OF_ASSUME_NONNULL_END

Modified src/OFStream.m from [257a9e5027] to [277ef6a678].

50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#import "OFSetOptionFailedException.h"

#import "of_asprintf.h"

#define MIN_READ_SIZE 512

@implementation OFStream
@synthesize OF_isWaitingForDelimiter = _waitingForDelimiter;

#ifndef OF_WINDOWS
+ (void)initialize
{
	if (self == [OFStream class])
		signal(SIGPIPE, SIG_IGN);
}







|







50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#import "OFSetOptionFailedException.h"

#import "of_asprintf.h"

#define MIN_READ_SIZE 512

@implementation OFStream
@synthesize OF_waitingForDelimiter = _waitingForDelimiter;

#ifndef OF_WINDOWS
+ (void)initialize
{
	if (self == [OFStream class])
		signal(SIGPIPE, SIG_IGN);
}

Modified src/OFTCPSocket.h from [a9d0cd2fee] to [0d4361b9a8].

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 * The host to use as a SOCKS5 proxy.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *SOCKS5Host;

/*!
 * The port to use on the SOCKS5 proxy.
 */
@property uint16_t SOCKS5Port;

/*!
 * @brief Sets the global SOCKS5 proxy host to use when creating a new socket
 *
 * @param SOCKS5Host The host to use as a SOCKS5 proxy when creating a new
 *		     socket
 */







|







74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 * The host to use as a SOCKS5 proxy.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *SOCKS5Host;

/*!
 * The port to use on the SOCKS5 proxy.
 */
@property (nonatomic) uint16_t SOCKS5Port;

/*!
 * @brief Sets the global SOCKS5 proxy host to use when creating a new socket
 *
 * @param SOCKS5Host The host to use as a SOCKS5 proxy when creating a new
 *		     socket
 */

Modified src/OFTLSSocket.h from [27187de68b] to [ec9c77b08c].

53
54
55
56
57
58
59
60

61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

79
80
81
82
83
84
85
86
87
88
89
90
91
92
 * @brief A protocol that should be implemented by 3rd-party libraries
 *	  implementing TLS.
 */
@protocol OFTLSSocket
/*!
 * The delegate for the TLS socket.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFTLSSocketDelegate> delegate;


/*!
 * The path to the X.509 certificate file to use.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *certificateFile;

/*!
 * The path to the PKCS#8 private key file to use.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *privateKeyFile;

/*!
 * The passphrase to decrypt the PKCS#8 private key file.
 *
 * @warning You have to ensure that this is in secure memory protected from
 *	    swapping! This is also the reason why this is not an OFString.
 */
@property OF_NULLABLE_PROPERTY (assign) const char *privateKeyPassphrase;


/**
 * Whether certificate verification is enabled.
 *
 * The default is enabled.
 */
@property (getter=isCertificateVerificationEnabled)
    bool certificateVerificationEnabled;

/*!
 * @brief Initializes the TLS socket with the specified TCP socket as its
 *	  underlying socket.
 *
 * @param socket The TCP socket to use as underlying socket







|
>

















|
>






|







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 * @brief A protocol that should be implemented by 3rd-party libraries
 *	  implementing TLS.
 */
@protocol OFTLSSocket
/*!
 * The delegate for the TLS socket.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFTLSSocketDelegate> delegate;

/*!
 * The path to the X.509 certificate file to use.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *certificateFile;

/*!
 * The path to the PKCS#8 private key file to use.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *privateKeyFile;

/*!
 * The passphrase to decrypt the PKCS#8 private key file.
 *
 * @warning You have to ensure that this is in secure memory protected from
 *	    swapping! This is also the reason why this is not an OFString.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    const char *privateKeyPassphrase;

/**
 * Whether certificate verification is enabled.
 *
 * The default is enabled.
 */
@property (nonatomic, getter=isCertificateVerificationEnabled)
    bool certificateVerificationEnabled;

/*!
 * @brief Initializes the TLS socket with the specified TCP socket as its
 *	  underlying socket.
 *
 * @param socket The TCP socket to use as underlying socket

Modified src/OFTarArchiveEntry.h from [9da73d68ac] to [37e5a4326d].

66
67
68
69
70
71
72
73
74
75
76
77
78
79
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
 * The file name of the entry.
 */
@property (readonly, nonatomic) OFString *fileName;

/*!
 * The mode of the entry.
 */
@property (readonly) uint32_t mode;

/*!
 * The size of the file.
 */
@property (readonly) uint64_t size;

/*!
 * The date of the last modification of the file.
 */
@property (readonly, nonatomic) OFDate *modificationDate;

/*!
 * The type of the archive entry.
 *
 * See @ref of_tar_archive_entry_type_t.
 */
@property (readonly) of_tar_archive_entry_type_t type;

/*!
 * The file name of the target (for a hard link or symbolic link).
 */
@property (readonly, nonatomic) OFString *targetFileName;

/*!
 * The owner of the file.
 */
@property (readonly, nonatomic) OFString *owner;

/*!
 * The group of the file.
 */
@property (readonly, nonatomic) OFString *group;

/*!
 * The device major (if the file is a device).
 */
@property (readonly) uint32_t deviceMajor;

/*!
 * The device major (if the file is a device).
 */
@property (readonly) uint32_t deviceMinor;

- init OF_UNAVAILABLE;
@end

OF_ASSUME_NONNULL_END







|




|











|



















|




|





66
67
68
69
70
71
72
73
74
75
76
77
78
79
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
 * The file name of the entry.
 */
@property (readonly, nonatomic) OFString *fileName;

/*!
 * The mode of the entry.
 */
@property (readonly, nonatomic) uint32_t mode;

/*!
 * The size of the file.
 */
@property (readonly, nonatomic) uint64_t size;

/*!
 * The date of the last modification of the file.
 */
@property (readonly, nonatomic) OFDate *modificationDate;

/*!
 * The type of the archive entry.
 *
 * See @ref of_tar_archive_entry_type_t.
 */
@property (readonly, nonatomic) of_tar_archive_entry_type_t type;

/*!
 * The file name of the target (for a hard link or symbolic link).
 */
@property (readonly, nonatomic) OFString *targetFileName;

/*!
 * The owner of the file.
 */
@property (readonly, nonatomic) OFString *owner;

/*!
 * The group of the file.
 */
@property (readonly, nonatomic) OFString *group;

/*!
 * The device major (if the file is a device).
 */
@property (readonly, nonatomic) uint32_t deviceMajor;

/*!
 * The device major (if the file is a device).
 */
@property (readonly, nonatomic) uint32_t deviceMinor;

- init OF_UNAVAILABLE;
@end

OF_ASSUME_NONNULL_END

Modified src/OFTimer.h from [55bdca4345] to [a9d9f7dbbd].

60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
	OFRunLoop *_inRunLoop;
}

/*!
 * The time interval in which the timer will repeat, if it is a repeating
 * timer.
 */
@property (readonly) of_time_interval_t timeInterval;

/*!
 * Whether the timer is repeating.
 */
@property (readonly, getter=isRepeating) bool repeating;

/*!
 * Whether the timer is valid.
 */
@property (readonly, getter=isValid) bool valid;

/*!
 * @brief Creates and schedules a new timer with the specified time interval.
 *
 * @param timeInterval The time interval after which the timer should be fired
 * @param target The target on which to call the selector
 * @param selector The selector to call on the target







|




|




|







60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
	OFRunLoop *_inRunLoop;
}

/*!
 * The time interval in which the timer will repeat, if it is a repeating
 * timer.
 */
@property (readonly, nonatomic) of_time_interval_t timeInterval;

/*!
 * Whether the timer is repeating.
 */
@property (readonly, nonatomic, getter=isRepeating) bool repeating;

/*!
 * Whether the timer is valid.
 */
@property (readonly, nonatomic, getter=isValid) bool valid;

/*!
 * @brief Creates and schedules a new timer with the specified time interval.
 *
 * @param timeInterval The time interval after which the timer should be fired
 * @param target The target on which to call the selector
 * @param selector The selector to call on the target

Modified src/OFURL.h from [de5ad4004e] to [2905af2049].

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 * The host part of the URL.
 */
@property (nonatomic, copy) OFString *host;

/*!
 * The port part of the URL.
 */
@property uint16_t port;

/*!
 * The user part of the URL.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *user;

/*!







|







42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 * The host part of the URL.
 */
@property (nonatomic, copy) OFString *host;

/*!
 * The port part of the URL.
 */
@property (nonatomic) uint16_t port;

/*!
 * The user part of the URL.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *user;

/*!

Modified src/OFXMLElementBuilder.h from [123ad23954] to [f7df881b5d].

108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
	OFMutableArray OF_GENERIC(OFXMLElement *) *_stack;
	id <OFXMLElementBuilderDelegate> _delegate;
}

/*!
 * The delegate for the OFXMLElementBuilder.
 */
@property OF_NULLABLE_PROPERTY (assign)
    id <OFXMLElementBuilderDelegate> delegate;

/*!
 * @brief Creates a new element builder.
 *
 * @return A new, autoreleased OFXMLElementBuilder
 */
+ (instancetype)elementBuilder;
@end

OF_ASSUME_NONNULL_END







|











108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
	OFMutableArray OF_GENERIC(OFXMLElement *) *_stack;
	id <OFXMLElementBuilderDelegate> _delegate;
}

/*!
 * The delegate for the OFXMLElementBuilder.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFXMLElementBuilderDelegate> delegate;

/*!
 * @brief Creates a new element builder.
 *
 * @return A new, autoreleased OFXMLElementBuilder
 */
+ (instancetype)elementBuilder;
@end

OF_ASSUME_NONNULL_END

Modified src/OFXMLParser.h from [cd9a216dbc] to [1de8f7a1f4].

174
175
176
177
178
179
180
181

182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
	of_string_encoding_t _encoding;
	size_t _depthLimit;
}

/*!
 * The delegate that is used by the XML parser.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFXMLParserDelegate> delegate;


/*!
 * The depth limit for the XML parser.
 *
 * If the depth limit is exceeded, an OFMalformedXMLException is thrown.
 *
 * The default is 32. 0 means unlimited (insecure!).
 */
@property size_t depthLimit;

/*!
 * @brief Creates a new XML parser.
 *
 * @return A new, autoreleased OFXMLParser
 */
+ (instancetype)parser;







|
>








|







174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
	of_string_encoding_t _encoding;
	size_t _depthLimit;
}

/*!
 * The delegate that is used by the XML parser.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, assign)
    id <OFXMLParserDelegate> delegate;

/*!
 * The depth limit for the XML parser.
 *
 * If the depth limit is exceeded, an OFMalformedXMLException is thrown.
 *
 * The default is 32. 0 means unlimited (insecure!).
 */
@property (nonatomic) size_t depthLimit;

/*!
 * @brief Creates a new XML parser.
 *
 * @return A new, autoreleased OFXMLParser
 */
+ (instancetype)parser;

Modified src/OFZIPArchiveEntry+Private.h from [ad70cd24c3] to [70580d8166].

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) int64_t OF_localFileHeaderOffset;

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

OF_ASSUME_NONNULL_END







>
|
|





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, nonatomic)
    uint16_t OF_lastModifiedFileTime, OF_lastModifiedFileDate;
@property (readonly, nonatomic) int64_t OF_localFileHeaderOffset;

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

OF_ASSUME_NONNULL_END

Modified src/OFZIPArchiveEntry.h from [c93bbb12ac] to [4fa095ee4c].

116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*!
 * The version which made the entry.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly) uint16_t versionMadeBy;

/*!
 * The minimum version required to extract the file.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly) uint16_t minVersionNeeded;

/*!
 * The compression method of the entry.
 *
 * Supported values are:
 * Value                                             | Description
 * --------------------------------------------------|---------------
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_NONE      | No compression
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE   | Deflate
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE64 | Deflate64
 *
 * Other values may be returned, but the file cannot be extracted then.
 */
@property (readonly) uint16_t compressionMethod;

/*!
 * The compressed size of the entry's file.
 */
@property (readonly) uint64_t compressedSize;

/*!
 * The uncompressed size of the entry's file.
 */
@property (readonly) uint64_t uncompressedSize;

/*!
 * The CRC32 checksum of the entry's file.
 */
@property (readonly) uint32_t CRC32;

/*!
 * 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;

- init OF_UNAVAILABLE;

/*!
 * @brief Returns the last modification date of the entry's file.
 *
 * @return The last modification date of the entry's file







|








|













|




|




|




|







|






|







116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*!
 * The version which made the entry.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly, nonatomic) uint16_t versionMadeBy;

/*!
 * The minimum version required to extract the file.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly, nonatomic) uint16_t minVersionNeeded;

/*!
 * The compression method of the entry.
 *
 * Supported values are:
 * Value                                             | Description
 * --------------------------------------------------|---------------
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_NONE      | No compression
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE   | Deflate
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE64 | Deflate64
 *
 * Other values may be returned, but the file cannot be extracted then.
 */
@property (readonly, nonatomic) uint16_t compressionMethod;

/*!
 * The compressed size of the entry's file.
 */
@property (readonly, nonatomic) uint64_t compressedSize;

/*!
 * The uncompressed size of the entry's file.
 */
@property (readonly, nonatomic) uint64_t uncompressedSize;

/*!
 * The CRC32 checksum of the entry's file.
 */
@property (readonly, nonatomic) uint32_t CRC32;

/*!
 * 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, nonatomic) uint32_t versionSpecificAttributes;

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

- init OF_UNAVAILABLE;

/*!
 * @brief Returns the last modification date of the entry's file.
 *
 * @return The last modification date of the entry's file

Modified src/exceptions/OFAcceptFailedException.h from [a7014ba993] to [c633b0648f].

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 * The socket which could not accept a connection.
 */
@property (readonly, nonatomic) id socket;

/*!
 * @return The errno from when the exception was created.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased accept failed exception.
 *
 * @param socket The socket which could not accept a connection







|







38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 * The socket which could not accept a connection.
 */
@property (readonly, nonatomic) id socket;

/*!
 * @return The errno from when the exception was created.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased accept failed exception.
 *
 * @param socket The socket which could not accept a connection

Modified src/exceptions/OFBindFailedException.h from [872d20117e] to [3582fff9a7].

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 * The host on which binding failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on which binding failed.
 */
@property (readonly) uint16_t port;

/*!
 * The socket which could not be bound.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased bind failed exception.
 *
 * @param host The host on which binding failed







|









|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 * The host on which binding failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on which binding failed.
 */
@property (readonly, nonatomic) uint16_t port;

/*!
 * The socket which could not be bound.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased bind failed exception.
 *
 * @param host The host on which binding failed

Modified src/exceptions/OFChangeCurrentDirectoryPathFailedException.h from [2478d8ba0a] to [96575fda4d].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The path of the directory to which the current path could not be changed.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change current directory path failed
 *	  exception.
 *







|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The path of the directory to which the current path could not be changed.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change current directory path failed
 *	  exception.
 *

Modified src/exceptions/OFChangeOwnerFailedException.h from [2bd12325f5] to [28080b3b24].

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 * The new group for the item.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *group;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change owner failed exception.
 *
 * @param path The path of the item







|







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 * The new group for the item.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *group;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change owner failed exception.
 *
 * @param path The path of the item

Modified src/exceptions/OFChangePermissionsFailedException.h from [7d8a42842b] to [6dfb3b7536].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 * The path of the item.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The new permissions for the item.
 */
@property (readonly) mode_t permissions;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change permissions failed exception.
 *
 * @param path The path of the item







|




|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 * The path of the item.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The new permissions for the item.
 */
@property (readonly, nonatomic) mode_t permissions;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change permissions failed exception.
 *
 * @param path The path of the item

Modified src/exceptions/OFConnectionFailedException.h from [0154995510] to [1f7fe5d883].

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 * The host to which the connection failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on the host to which the connection failed.
 */
@property (readonly) uint16_t port;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased connection failed exception.
 *
 * @param host The host to which the connection failed







|




|







45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 * The host to which the connection failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on the host to which the connection failed.
 */
@property (readonly, nonatomic) uint16_t port;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased connection failed exception.
 *
 * @param host The host to which the connection failed

Modified src/exceptions/OFCopyItemFailedException.h from [2dd4967598] to [3ba8604826].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The destination path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased copy item failed exception.
 *
 * @param sourcePath The original path







|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The destination path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased copy item failed exception.
 *
 * @param sourcePath The original path

Modified src/exceptions/OFCreateDirectoryFailedException.h from [2fa380f286] to [44563be7f3].

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 * The path of the directory which couldn't be created.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create directory failed exception.
 *
 * @param path A string with the path of the directory which could not be







|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 * The path of the directory which couldn't be created.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create directory failed exception.
 *
 * @param path A string with the path of the directory which could not be

Modified src/exceptions/OFCreateSymbolicLinkFailedException.h from [691cb6e6d9] to [1bdb6bb6d4].

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 * The destination for the symlink.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create symbolic link failed exception.
 *
 * @param sourcePath The source for the symbolic link







|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 * The destination for the symlink.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create symbolic link failed exception.
 *
 * @param sourcePath The source for the symbolic link

Modified src/exceptions/OFGetOptionFailedException.h from [f743d09cdc] to [e79b2ff6e7].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The stream for which the option could not be retrieved.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased get option failed exception.
 *
 * @param stream The stream for which the option could not be gotten







|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The stream for which the option could not be retrieved.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased get option failed exception.
 *
 * @param stream The stream for which the option could not be gotten

Modified src/exceptions/OFInvalidJSONException.h from [779eaeefae] to [a8c0d937c1].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * The string containing the invalid JSON representation.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *string;

/*!
 * The line in which parsing the JSON representation failed.
 */
@property (readonly) size_t line;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased invalid JSON exception.
 *
 * @param string The string containing the invalid JSON representation







|







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * The string containing the invalid JSON representation.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *string;

/*!
 * The line in which parsing the JSON representation failed.
 */
@property (readonly, nonatomic) size_t line;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased invalid JSON exception.
 *
 * @param string The string containing the invalid JSON representation

Modified src/exceptions/OFLinkFailedException.h from [46e9998ad9] to [88dd7ed2e3].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * A string with the destination for the link.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased link failed exception.
 *
 * @param sourcePath The source for the link







|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * A string with the destination for the link.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased link failed exception.
 *
 * @param sourcePath The source for the link

Modified src/exceptions/OFListenFailedException.h from [ee0d335219] to [fa47660530].

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 * The socket which failed to listen.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The requested back log.
 */
@property (readonly) int backLog;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased listen failed exception.
 *
 * @param socket The socket which failed to listen







|




|







38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 * The socket which failed to listen.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The requested back log.
 */
@property (readonly, nonatomic) int backLog;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased listen failed exception.
 *
 * @param socket The socket which failed to listen

Modified src/exceptions/OFMemoryNotPartOfObjectException.h from [4b7434983f] to [12cc3efa95].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	void *_pointer;
	id _object;
}

/*!
 * A pointer to the memory which is not part of the object.
 */
@property (readonly) void *pointer;

/*!
 * The object which the memory is not part of.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;







|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	void *_pointer;
	id _object;
}

/*!
 * A pointer to the memory which is not part of the object.
 */
@property (readonly, nonatomic) void *pointer;

/*!
 * The object which the memory is not part of.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

Modified src/exceptions/OFMoveItemFailedException.h from [803e54d164] to [3fdafa72d1].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The new path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased move item failed exception.
 *
 * @param sourcePath The original path







|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The new path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased move item failed exception.
 *
 * @param sourcePath The original path

Modified src/exceptions/OFNotImplementedException.h from [b5efbf83eb] to [6af9ecca7d].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	SEL _selector;
	id _object;
}

/*!
 * The selector which is not or not fully implemented.
 */
@property (readonly) SEL selector;

/*!
 * The object which does not (fully) implement the selector.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;







|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	SEL _selector;
	id _object;
}

/*!
 * The selector which is not or not fully implemented.
 */
@property (readonly, nonatomic) SEL selector;

/*!
 * The object which does not (fully) implement the selector.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

Modified src/exceptions/OFObserveFailedException.h from [df4469a978] to [9887d9256b].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The observer which failed to observe.
 */
@property (readonly, nonatomic) OFKernelEventObserver *observer;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased observe failed exception.
 *
 * @param observer The observer which failed to observe







|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The observer which failed to observe.
 */
@property (readonly, nonatomic) OFKernelEventObserver *observer;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased observe failed exception.
 *
 * @param observer The observer which failed to observe

Modified src/exceptions/OFOpenItemFailedException.h from [bc70286fc7] to [18f5ca0ccc].

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The mode in which the item should have been opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *mode;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased open item failed exception.
 *
 * @param path A string with the path of the item tried to open







|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 * The mode in which the item should have been opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *mode;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased open item failed exception.
 *
 * @param path A string with the path of the item tried to open

Modified src/exceptions/OFOutOfMemoryException.h from [6df6fe3bd8] to [38bafbd401].

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
	size_t _requestedSize;
}

/*!
 * The size of the memory that could not be allocated.
 */
@property (readonly) size_t requestedSize;

/*!
 * @brief Creates a new, autoreleased no memory exception.
 *
 * @param requestedSize The size of the memory that could not be allocated
 * @return A new, autoreleased no memory exception
 */







|







28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
	size_t _requestedSize;
}

/*!
 * The size of the memory that could not be allocated.
 */
@property (readonly, nonatomic) size_t requestedSize;

/*!
 * @brief Creates a new, autoreleased no memory exception.
 *
 * @param requestedSize The size of the memory that could not be allocated
 * @return A new, autoreleased no memory exception
 */

Modified src/exceptions/OFReadOrWriteFailedException.h from [b495c67239] to [eb2334224b].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 * The stream which caused the read or write failed exception.
 */
@property (readonly, nonatomic) id object;

/*!
 * The requested length of the data that could not be read / written.
 */
@property (readonly) size_t requestedLength;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased read or write failed exception.
 *
 * @param object The object from which reading or to which writing failed







|




|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 * The stream which caused the read or write failed exception.
 */
@property (readonly, nonatomic) id object;

/*!
 * The requested length of the data that could not be read / written.
 */
@property (readonly, nonatomic) size_t requestedLength;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased read or write failed exception.
 *
 * @param object The object from which reading or to which writing failed

Modified src/exceptions/OFRemoveItemFailedException.h from [7370f97932] to [112e6664c1].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * The path of the item which could not be removed.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased remove failed exception.
 *
 * @param path The path of the item which could not be removed







|







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * The path of the item which could not be removed.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased remove failed exception.
 *
 * @param path The path of the item which could not be removed

Modified src/exceptions/OFSandboxActivationFailedException.h from [bce4153e83] to [b1df1eba39].

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 * The sandbox which could not be activated.
 */
@property (readonly, nonatomic) OFSandbox *sandbox;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased sandboxing failed exception.
 *
 * @param sandbox The sandbox which could not be activated







|







37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 * The sandbox which could not be activated.
 */
@property (readonly, nonatomic) OFSandbox *sandbox;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased sandboxing failed exception.
 *
 * @param sandbox The sandbox which could not be activated

Modified src/exceptions/OFSeekFailedException.h from [f9fc679640] to [2cb0456fd7].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 * The stream for which seeking failed.
 */
@property (readonly, nonatomic) OFSeekableStream *stream;

/*!
 * The offset to which seeking failed.
 */
@property (readonly) of_offset_t offset;

/*!
 * To what the offset is relative.
 */
@property (readonly) int whence;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased seek failed exception.
 *
 * @param stream The stream for which seeking failed







|




|




|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 * The stream for which seeking failed.
 */
@property (readonly, nonatomic) OFSeekableStream *stream;

/*!
 * The offset to which seeking failed.
 */
@property (readonly, nonatomic) of_offset_t offset;

/*!
 * To what the offset is relative.
 */
@property (readonly, nonatomic) int whence;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased seek failed exception.
 *
 * @param stream The stream for which seeking failed

Modified src/exceptions/OFSetOptionFailedException.h from [a96b5b7e0c] to [de32f0a06b].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The stream for which the option could not be set.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased set option failed exception.
 *
 * @param stream The stream for which the option could not be set







|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 * The stream for which the option could not be set.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased set option failed exception.
 *
 * @param stream The stream for which the option could not be set

Modified src/exceptions/OFStatItemFailedException.h from [0717b54372] to [abe62eddf9].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * A string with the path of the item whose status could not be retrieved.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased stat item failed exception.
 *
 * @param path A string with the path of the item whose status could not be







|







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 * A string with the path of the item whose status could not be retrieved.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased stat item failed exception.
 *
 * @param path A string with the path of the item whose status could not be

Modified src/exceptions/OFThreadStillRunningException.h from [6ad8b75800] to [d232a7942a].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{
	OFThread *_thread;
}

/*!
 * The thread which is still running.
 */
@property OF_NULLABLE_PROPERTY (readonly, retain) OFThread *thread;

/*!
 * @brief Creates a new, autoreleased thread still running exception.
 *
 * @param thread The thread which is still running
 * @return A new, autoreleased thread still running exception
 */







|







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{
	OFThread *_thread;
}

/*!
 * The thread which is still running.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

/*!
 * @brief Creates a new, autoreleased thread still running exception.
 *
 * @param thread The thread which is still running
 * @return A new, autoreleased thread still running exception
 */

Modified tests/Makefile from [2dc40d834b] to [21deeca32c].

146
147
148
149
150
151
152

153
154
155
	ndstool -c $@ -9 $< -d nds-data
	rm -fr nds-data

${PROG_NOINST}.3dsx: ${PROG_NOINST}
	3dsxtool $< $@

CPPFLAGS += -I../src -I../src/exceptions -I../src/runtime -I.. -DSTDOUT

LIBS := -L../src -lobjfw ${TESTS_LIBS} ${LIBS}
LDFLAGS += ${MAP_LDFLAGS}
LD = ${OBJC}







>



146
147
148
149
150
151
152
153
154
155
156
	ndstool -c $@ -9 $< -d nds-data
	rm -fr nds-data

${PROG_NOINST}.3dsx: ${PROG_NOINST}
	3dsxtool $< $@

CPPFLAGS += -I../src -I../src/exceptions -I../src/runtime -I.. -DSTDOUT
OBJCFLAGS += ${TESTS_OBJCFLAGS}
LIBS := -L../src -lobjfw ${TESTS_LIBS} ${LIBS}
LDFLAGS += ${MAP_LDFLAGS}
LD = ${OBJC}

Modified tests/OFObjectTests.m from [2156cf6ce1] to [bb532d1546].

50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
	unsigned int _unsignedIntValue;
	unsigned long _unsignedLongValue;
	unsigned long long _unsignedLongLongValue;
	float _floatValue;
	double _doubleValue;
}

@property (retain) id objectValue;
@property Class classValue;
@property (getter=isBoolValue) bool boolValue;
@property char charValue;
@property short shortValue;
@property int intValue;
@property long longValue;
@property long long longLongValue;
@property unsigned char unsignedCharValue;
@property unsigned short unsignedShortValue;
@property unsigned int unsignedIntValue;
@property unsigned long unsignedLongValue;
@property unsigned long long unsignedLongLongValue;
@property float floatValue;
@property double doubleValue;
@end

@implementation MyObj
@synthesize objectValue = _objectValue, classValue = _classValue;
@synthesize boolValue = _boolValue, charValue = _charValue;
@synthesize shortValue = _shortValue, intValue = _intValue;
@synthesize longValue = _longValue, longLongValue = _longLongValue;







|
|
|
|
|
|
|
|
|
|
|
|
|
|
|







50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
	unsigned int _unsignedIntValue;
	unsigned long _unsignedLongValue;
	unsigned long long _unsignedLongLongValue;
	float _floatValue;
	double _doubleValue;
}

@property (nonatomic, retain) id objectValue;
@property (nonatomic) Class classValue;
@property (nonatomic, getter=isBoolValue) bool boolValue;
@property (nonatomic) char charValue;
@property (nonatomic) short shortValue;
@property (nonatomic) int intValue;
@property (nonatomic) long longValue;
@property (nonatomic) long long longLongValue;
@property (nonatomic) unsigned char unsignedCharValue;
@property (nonatomic) unsigned short unsignedShortValue;
@property (nonatomic) unsigned int unsignedIntValue;
@property (nonatomic) unsigned long unsignedLongValue;
@property (nonatomic) unsigned long long unsignedLongLongValue;
@property (nonatomic) float floatValue;
@property (nonatomic) double doubleValue;
@end

@implementation MyObj
@synthesize objectValue = _objectValue, classValue = _classValue;
@synthesize boolValue = _boolValue, charValue = _charValue;
@synthesize shortValue = _shortValue, intValue = _intValue;
@synthesize longValue = _longValue, longLongValue = _longLongValue;