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; |
︙ | ︙ |