ObjFW  Diff

Differences From Artifact [5bdba7aa5b]:

To Artifact [ed2642bf1e]:


264
265
266
267
268
269
270
271

272
273

274
275
276
277

278
279
280

281
282
283
284
285
286
287
288
264
265
266
267
268
269
270

271


272

273
274

275

276

277

278
279
280
281
282
283
284







-
+
-
-
+
-


-
+
-

-
+
-








	env = [OFMutableData dataWithItemSize: sizeof(of_char16_t)];

	keyEnumerator = [environment keyEnumerator];
	objectEnumerator = [environment objectEnumerator];
	while ((key = [keyEnumerator nextObject]) != nil &&
	    (object = [objectEnumerator nextObject]) != nil) {
		[env addItems: key.UTF16String
		[env addItems: key.UTF16String count: key.UTF16StringLength];
			count: key.UTF16StringLength];
		[env addItems: &equal
		[env addItems: &equal count: 1];
			count: 1];
		[env addItems: object.UTF16String
			count: object.UTF16StringLength];
		[env addItems: &zero
		[env addItems: &zero count: 1];
			count: 1];
	}
	[env addItems: zero
	[env addItems: zero count: 2];
		count: 2];

	return env.mutableItems;
}

- (char *)of_environmentForDictionary: (OFDictionary *)environment
{
	of_string_encoding_t encoding = [OFLocale encoding];
297
298
299
300
301
302
303
304

305
306
307
308

309
310
311

312
313
314
315
316
317
318
319
320
321
322
323
324
325

326
327
328
329
330
331
332
333
293
294
295
296
297
298
299

300

301
302

303

304

305

306
307
308
309
310
311
312
313
314
315
316
317

318

319
320
321
322
323
324
325







-
+
-


-
+
-

-
+
-












-
+
-








	keyEnumerator = [environment keyEnumerator];
	objectEnumerator = [environment objectEnumerator];
	while ((key = [keyEnumerator nextObject]) != nil &&
	    (object = [objectEnumerator nextObject]) != nil) {
		[env addItems: [key cStringWithEncoding: encoding]
			count: [key cStringLengthWithEncoding: encoding]];
		[env addItems: "="
		[env addItems: "=" count: 1];
			count: 1];
		[env addItems: [object cStringWithEncoding: encoding]
			count: [object cStringLengthWithEncoding: encoding]];
		[env addItems: ""
		[env addItems: "" count: 1];
			count: 1];
	}
	[env addItems: "\0"
	[env addItems: "\0" count: 2];
		count: 2];

	return env.mutableItems;
}

- (bool)lowlevelIsAtEndOfStream
{
	if (_readPipe[0] == NULL)
		@throw [OFNotOpenException exceptionWithObject: self];

	return _atEndOfStream;
}

- (size_t)lowlevelReadIntoBuffer: (void *)buffer
- (size_t)lowlevelReadIntoBuffer: (void *)buffer length: (size_t)length
			  length: (size_t)length
{
	DWORD ret;

	if (length > UINT32_MAX)
		@throw [OFOutOfRangeException exception];

	if (_readPipe[0] == NULL)
346
347
348
349
350
351
352
353

354
355
356
357
358
359
360
361
338
339
340
341
342
343
344

345

346
347
348
349
350
351
352







-
+
-








	if (ret == 0)
		_atEndOfStream = true;

	return ret;
}

- (size_t)lowlevelWriteBuffer: (const void *)buffer
- (size_t)lowlevelWriteBuffer: (const void *)buffer length: (size_t)length
		       length: (size_t)length
{
	DWORD bytesWritten;

	if (length > UINT32_MAX)
		@throw [OFOutOfRangeException exception];

	if (_writePipe[1] == NULL)