+2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
+ ToArray even after closing the stream.
+
2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Directory.cs:
}\r
}\r
\r
- public override void Close() {\r
- if( streamClosed ) {\r
- return;\r
- }\r
-\r
+ public override void Close ()\r
+ {\r
streamClosed = true;\r
- internalBuffer = null;\r
+ expandable = false;\r
}\r
\r
public override void Flush() { }\r
\r
\r
public virtual byte[] ToArray() { \r
- byte[] outBuffer = new byte[(int)position];\r
+ byte[] outBuffer = new byte[capacity];\r
\r
- Buffer.BlockCopyInternal (internalBuffer, 0, outBuffer, 0, (int)position);\r
+ Buffer.BlockCopyInternal (internalBuffer, 0, outBuffer, 0, capacity);\r
return outBuffer; \r
}\r
\r
\r
\r
public virtual void WriteTo( Stream stream ) { \r
+ if (streamClosed)\r
+ throw new ObjectDisposedException ("MemoryStream");\r
+\r
if( stream == null ) {\r
throw new ArgumentNullException();\r
}\r