Differences From Artifact [6f88407ce3]:
- File
src/OFProcess.m
— part of check-in
[f7576a66ce]
at
2012-06-06 13:47:52
on branch trunk
— Slightly change the memory management API.
Also fix a bug where OFBigDataArray would waste memory. (user: js, size: 7734) [annotate] [blame] [check-ins using] [more...]
To Artifact [8d0f0fd4b4]:
- File src/OFProcess.m — part of check-in [11d3d69a22] at 2012-06-10 13:28:05 on branch trunk — More API improvements. (user: js, size: 7727) [annotate] [blame] [check-ins using] [more...]
| ︙ | ︙ | |||
87 88 89 90 91 92 93 |
switch ((pid = fork())) {
case 0:;
OFString **objects = [arguments objects];
size_t i, count = [arguments count];
char **argv;
| | | | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
switch ((pid = fork())) {
case 0:;
OFString **objects = [arguments objects];
size_t i, count = [arguments count];
char **argv;
argv = [self allocMemoryWithSize: sizeof(char*)
count: count + 2];
argv[0] = (char*)[programName cStringWithEncoding:
OF_STRING_ENCODING_NATIVE];
for (i = 0; i < count; i++)
argv[i + 1] = (char*)[objects[i]
cStringWithEncoding:
|
| ︙ | ︙ | |||
232 233 234 235 236 237 238 | if (readPipe[0] == NULL) #endif return YES; return atEndOfStream; } | < | > | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
if (readPipe[0] == NULL)
#endif
return YES;
return atEndOfStream;
}
- (size_t)_readIntoBuffer: (void*)buffer
length: (size_t)length
{
#ifndef _WIN32
ssize_t ret;
#else
DWORD ret;
#endif
|
| ︙ | ︙ | |||
264 265 266 267 268 269 270 | if (ret == 0) atEndOfStream = YES; return ret; } | < | > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 |
if (ret == 0)
atEndOfStream = YES;
return ret;
}
- (void)_writeBuffer: (const void*)buffer
length: (size_t)length
{
#ifndef _WIN32
if (writePipe[1] == -1 || atEndOfStream ||
write(writePipe[1], buffer, length) < length)
#else
DWORD ret;
|
| ︙ | ︙ |