diff -r 9bf7adc6116d -r 767e11efc326 ExternalStream.st --- a/ExternalStream.st Mon Oct 27 19:03:18 2003 +0100 +++ b/ExternalStream.st Mon Oct 27 19:03:45 2003 +0100 @@ -2890,16 +2890,40 @@ copyToEndInto:outStream "copy the data into another stream." - |bufferSize| + |bufferSize pos n nWritten| + + self isFileStream ifTrue:[ + outStream isExternalStream ifTrue:[ + pos := self position. + n := self size - pos. + nWritten := OperatingSystem + copyFromFd:(self fileDescriptor) + toFd:(outStream fileDescriptor) + startIndex:pos + count:n. + nWritten = n ifTrue:[ + ^ self + ] + ] + ]. OperatingSystem isMSDOSlike ifTrue:[ - "/ mhmh - NT hangs, when copying bigger blocks to a network drive - why ? - bufferSize := 1 * 1024. + "/ mhmh - NT hangs, when copying bigger blocks to a network drive - why ? + bufferSize := 1 * 1024. ] ifFalse:[ - bufferSize := 8 * 1024. + bufferSize := 8 * 1024. ]. ^ self copyToEndInto:outStream bufferSize:bufferSize + + " + |in out| + + in := 'Makefile' asFilename readStream. + out := Stdout. + in copyToEndInto:out. + in close. + " ! create @@ -5735,7 +5759,7 @@ !ExternalStream class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.261 2003-10-23 15:43:08 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.262 2003-10-27 18:03:45 cg Exp $' ! ! ExternalStream initialize!