ObjFW  Diff

Differences From Artifact [504d17c5e3]:

To Artifact [ab1e932258]:


205
206
207
208
209
210
211
212

213
214
215

216
217
218
219
220
221
222

223
224
225
226
227
228

229
230
231
232
233
234
235
205
206
207
208
209
210
211

212
213
214

215
216
217
218
219
220
221

222
223
224
225
226
227

228
229
230
231
232
233
234
235







-
+


-
+






-
+





-
+







		    sizeOfFileAtPath: path];
		char *buffer;

		if (sizeof(of_offset_t) > sizeof(size_t) &&
		    size > (of_offset_t)SIZE_MAX)
			@throw [OFOutOfRangeException exception];

		buffer = malloc(size);
		buffer = malloc((size_t)size);
		if (buffer == NULL)
			@throw [OFOutOfMemoryException
			    exceptionWithRequestedSize: size];
			    exceptionWithRequestedSize: (size_t)size];

		@try {
			OFFile *file = [[OFFile alloc] initWithPath: path
							       mode: @"r"];
			@try {
				[file readIntoBuffer: buffer
					 exactLength: size];
					 exactLength: (size_t)size];
			} @finally {
				[file release];
			}

			self = [self initWithItemsNoCopy: buffer
						   count: size
						   count: (size_t)size
					    freeWhenDone: true];
		} @catch (id e) {
			free(buffer);
			@throw e;
		}
	} @catch (id e) {
		[self release];