@@ -153,11 +153,11 @@ withString: @"\\\\\""]; [argumentsString replaceOccurrencesOfString: @"\"" withString: @"\\\""]; if ([argumentsString containsString: @" "]) { - [argumentsString prependString: @"\""]; + [argumentsString insertString: @"\"" atIndex: 0]; [argumentsString appendString: @"\""]; } for (OFString *argument in arguments) { OFMutableString *tmp = @@ -368,12 +368,14 @@ return (size_t)bytesWritten; } - (void)closeForWriting { - if (_writePipe[1] != NULL) - CloseHandle(_writePipe[1]); + if (_readPipe[0] == NULL || _writePipe[1] == NULL) + @throw [OFNotOpenException exceptionWithObject: self]; + + CloseHandle(_writePipe[1]); _writePipe[1] = NULL; } - (void)close