1 2003-10-20 Miguel de Icaza <miguel@ximian.com>
3 * FileStream.cs public FileStream (string name, FileMode mode)
4 constructor: If we pass FileMode.Append, we can not pass
5 FileAccess.ReadWrite. This fixes bug 44959
7 2003-09-26 Miguel de Icaza <miguel@ximian.com>
9 * BufferedStream.cs (Write): Use CanWrite in Write. Patch from
10 Francisco Figueiredo Jr.
12 2003-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
14 * BinaryReader.cs: return the correct number of bytes read when there
15 are some bytes from peeking.
17 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
19 * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
20 Added [In,Out] attributes to Read method.
22 2003-08-05 Martin Baulig <martin@ximian.com>
24 * StreamReader.cs (DiscardBufferedData): Do the same like on the
25 ms runtime: just discard the buffered data, but don't modify the
28 2003-08-04 Martin Baulig <martin@ximian.com>
30 * StreamReader.cs (DiscardBufferedData): Implemented.
32 2003-07-29 Miguel de Icaza <miguel@ximian.com>
34 * IntPtrStream.cs (Read): Use correct offset here; Change the
35 code to use a byte* instead of an IntPtr to reduce the number of
38 (Read): Use Marshal.Copy instead of the now
41 (IntPtrStream): New stream implementation, it maps to a region in
44 2003-07-23 Duncan Mak <duncan@ximian.com>
46 * StreamReader.cs (Initialize): This method is not exposed in the
47 API, mark as internal.
49 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
51 * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
53 2003-07-16 Dick Porter <dick@ximian.com>
55 * FileInfo.cs: Update path info when a file is moved. Patch by
56 John Luke <jluke@cfl.rr.com>, fixes bug 44253.
58 2003-07-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
60 * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
62 2003-06-30 Zoltan Varga <vargaz@freemail.hu>
64 * FileStream.cs (Dispose): Flush the buffer even if we don't own the
66 * FileStream.cs: Add a new constructor parameter to turn off buffering.
67 This is used by the Console.OpenStandard...() methods. Also fix
68 argument checking in InitBuffer(), so a zero buffer size is also
71 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
73 * Stream.cs: use async.delegate invoke
75 2003-06-18 Nick Drochak <ndrochak@gol.com>
77 * FileSystemInfo.cs: Refresh cache when changeing file times.
79 2003-06-11 Zoltan Varga <vargaz@freemail.hu>
81 * FileStream.cs: Fix errors in previous checkins:
82 (Write): Only take the shortcut route if the data is longer than the
84 (Write): Flush the buffer before writing out the new data
85 (Write): Flush the buffer after writing out a segment since otherwise
86 we will go into an infinite loop.
87 (FlushBuffer): Remove my last change since it was clearly wrong.
88 (Seek): Run FlushBuffer () after the in-buffer seek optimization.
89 (Seek): Only use the in-buffer optimization if the buffer is not
91 (Length): Call FlushBuffer () since buffer data might change the size
94 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
97 - removed unusefull bugfix (DirectoryNotFoundException)
100 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
102 * FileStream.cs: Check buffer size before append/read -exceptios
104 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
106 * FileStream.cs: Check DirectoryNotFound before FileNotFound.
108 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
110 * FileStream.cs: Does not anymore flush while writing
112 2003-06-02 Nick Drochak <ndrochak@gol.com>
114 * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
117 2003-05-27 Lluis Sanchez Gual <lluis@ximian.com>
119 * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
121 2003-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
123 * Path.cs: fixed bug #42631.
125 2003-05-22 Zoltan Varga <vargaz@freemail.hu>
127 * File.cs (Move): Allow moving of directories.
128 Fix 'destination is a directory' test.
130 2003-05-21 Ben Maurer <bmaurer@users.sourceforge.net>
132 * StringWriter.cs: Fixed bug #43431: "StringWriter
133 .ctor(CultureInfo) does not create a new StringBuilder ()"
135 2003-05-11 Zoltan Varga <vargaz@freemail.hu>
137 * FileStream.cs (FlushBuffer): After a flush, the buffer is
138 advanced by buf_offset bytes, not buf_length bytes.
140 2003-05-16 Dick Porter <dick@ximian.com>
142 * MonoIO.cs: Implement GetTempPath
144 2003-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
146 * DirectoryInfo.cs: fixed bug #42991.
148 (CanonicalizePath): store the value of the trimmed input string. Make it
149 work with paths such as "/home/xxx/.".
151 2003-05-08 Ben Maurer <bmaurer@users.sourceforge.net>
153 (CanonicalizePath) Fixed bug #42631, which duplicated the
154 root part of the path under Windows.
156 2003-05-08 Ville Palo <vi64pa@kolumbus.fi>
158 * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc,
159 LastWriteTimeUtc and CreationTimeUtc
161 2003-05-07 Ben Maurer <bmaurer@users.sourceforge.net>
163 (GetPathRoot) Added support for UNC paths.
164 (CanonicalizePath) Added optimizations per Miguel's requests.
166 2003-05-06 Ville Palo <vi64pa@kolumbus.fi>
169 - Removed unusefull code.
170 - Added ObjectDisposedException to Position
171 - Dont flush if stream is allready closed.
172 - Flush throws also ObjectDisposedException.
174 - GetFileSystemEtries: ArgumentNullException if pattern is null
175 * DirectoryInfo.cs: Fixed little MoveTo () bug.
177 - Exists: If file does not exists when instance is created the
178 value of the Exists property does not change even if file is created
180 - Delete: If path is a directory UnauthorizedException is thrown.
181 - CopyTo: Now we can overwrite file if wanted.
183 - GetFullPath: Now throws exception when path is " ".
185 2003-05-04 Ben Maurer <bmaurer@users.sourceforge.net>
186 * Directory.cs (GetLogicalDrives) Marked as MonoTODO
187 because we need to implement the method on Windows.
189 (CanonicalizePath) Added new function to get
190 rid of . and .. in path names. Need to figure out what
191 other functions should call this.
192 (GetFullPath) Added call to the above function.
194 2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
197 (.ctor): fixed parameters passed to FileNotFoundException.
199 2003-04-25 Dietmar Maurer <dietmar@ximian.com>
201 * BinaryReader.cs (Read): make sure the buffer is big enough (fix
204 2003-04-24 Pedro MartÃnez Juliá <yoros@wanadoo.es>
206 * BufferedStream.cs: Test if it's possible to seek in a Stream
207 before access to Position. This prevents the exception thrown when
208 the stream is System.Net.Sockets.NetworkStream.
210 2003-04-22 Ville Palo <vi64pa@kolumbus.fi>
212 * Directory.cs: clean up --> performance improvment. Some exceptions
213 are now checked in File.cs.
214 * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
216 2003-04-21 Ville Palo <vi64pa@kolumbus.fi>
218 * Directory.cs: lots of fixes.
219 - Added GetXXXtimeUtc () (v1.1) methods.
220 - Added SetXXXtimeUtc () (v1.1) methods.
222 2003-04-20 Igor Nosyryev <nosyryev@attbi.com>
224 * StringReader.cs (Read): Increment nextChar by charsToRead
225 instead of count, that will guarantee that the next time the
226 method is called, it will return 0 on an empty string rather than
227 throwing an exception
229 2003-04-19 Ville Palo <vi64pa@kolumbus.fi>
231 * BufferedStream.cs: Some fixes, mostly throwing exceptions.
232 * MemoryStream.cs: Changed the order of exception checking
233 * StringReader.cs: little clean up
235 2003-04-14 Ville Palo <vi64pa@kolumbus.fi>
237 * BinaryWriter.cs: Fixed decimal writing and lots of
238 ObjectDisposedExceptions added.
240 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
242 * BinaryReader.cs: Fix to ReadDecimal() method.
244 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
246 * StringReader.cs: Added some ObjectDisposedExceptions.
247 * StringWriter.cs: Added some ObjectDisposedExceptions.
248 * BinaryReader.cs: Added some ObjectDisposedExceptions.
250 2003-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
252 * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
255 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
257 * FileStream.cs: fixed bug #40182 and made more unit test pass.
259 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
261 * FileStream.cs: Added new methods Lock () and Unlock ()
263 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
265 * StringReader.cs: Throws exceptions if constructor parameter is null.
267 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
269 * StringWriter.cs: Now throws an exception if StringBuilder parameter
272 2003-04-05 Miguel de Icaza <miguel@ximian.com>
274 * TextWriter.cs: Implemented Synchronized method.
276 * TextReader.cs: Implemented Synchronized method.
278 2003-04-04 Miguel de Icaza <miguel@ximian.com>
280 * FileStream.cs (Read, ReadByte, Seek): throw
281 ObjectDisposedException if the handle has been released.
283 (Read): Throw exceptions specified in the spec.
285 (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
286 instance methods of FileStream to be thread safe, so remove all
287 the calls to lock on the object
289 2003-03-31 Nick Drochak <ndrochak@gol.com>
291 * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
293 2003-03-20 Lluis Sanchez Gual <lluis@ideary.com>
295 * FileNotFoundException.cs: fixed serialization bug.
297 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
299 * StringWriter.cs : don't release internalString on Dispose().
301 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
303 * StreamReader.cs: fixed bug #39280.
305 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
307 * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
310 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
312 * MemoryStream.cs: general fixes and reformatted. Passes all tests in
313 the new MemoryStreamTest.
315 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
317 * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
318 ToArray even after closing the stream.
320 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
323 (Move): don't use File.Move.
324 * DirectoryInfo.cs: fixed Name property.
328 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
330 * DirectoryInfo.cs: changed ToString to match MS behavior.
331 * Path.cs: further fixes to GetDirectoryName to return null in the
332 same cases that MS does.
336 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
338 * Path.cs: fixed a couple of bugs reported in #35906.
340 2003-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
342 * Directory.cs: fixed bugs #38939 and #38940. No need for separate
343 unix/windows/unc shares code paths.
345 2003-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
347 * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
348 SetCreationTime, SetLastAccessTime and SetLastWriteTime.
350 2003-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
353 (ToArray): return only the portion of the buffer that contains
354 data, not the whole buffer. (note: this makes XmlDocument.Load work
355 again with documents that have a <?xml without the 'encoding'
356 attribute, which makes gtk-sharp generator work again).
358 2003-02-25 Nick Drochak <ndrochak@gol.com>
360 * File.cs (GetCreationTime): Throw proper execption when path is not
363 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
365 * MemoryStream.cs: make it behave sanely when the stream is
366 incrementally expanded.
368 2003-02-21 Dick Porter <dick@ximian.com>
370 * FileStream.cs: Use locks around buffer manipulations. Fixes bug
373 2003-02-18 Dick Porter <dick@ximian.com>
375 * FileStream.cs: Make FileMode.Append work, and check for Seeking
376 back over old data (undocumented ms behaviour, throws an exception
377 if you try). Fixes bug 35975.
379 2003-02-17 Dick Porter <dick@ximian.com>
381 * FileStream.cs: Don't close the handle if the stream doesn't own
382 it. Patch from Raymond Penners (raymond@dotsphinx.com), bug
385 2003-02-14 Zoltan Varga <vargaz@freemail.hu>
387 * FileStream.cs (Write): flush after writing the last segment as well.
389 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
392 (ReadLine): fixed the case when the string ends with a '\n'.
394 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
396 * MemoryStream.cs: create the buffer of the specified capacity.
398 2003-01-31 Patrik Torstensson
400 * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
401 the same way as MS does it (performance improvement)
403 2003-01-29 Zoltan Varga <vargaz@freemail.hu>
405 * Directory.cs (GetFileSystemEntries): moved error handling to the
406 correct instance of GetFileSystemEntries so all callers can enjoy it.
408 2003-01-28 Zoltan Varga <vargaz@freemail.hu>
410 * File.cs: add error handling to Get...Time methods.
412 2003-01-26 Zoltan Varga <vargaz@freemail.hu>
414 * Directory.cs: fix GetParent so it actually works.
416 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
418 * Path.cs: fixlet to ChangeExtension for the case when the path is
421 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
423 * BufferedStream.cs: don't try to write a 0 sized array on when
428 2003-01-18 Jonathan Pryor <jonpryor@vt.edu>
430 * FileStream.cs: Add IsAsync property. (Documented in "C# In A Nutshell".)
432 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
434 * MemoryStream.cs: fixed bug #36319.
436 2002-12-16 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
438 * Directory.cs: Some fixes to SMB shares handling, and not compiling
439 with csc, mcs compiles it correctly (mcs bug 35652)
441 2002-12-14 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
443 * Directory.cs: Some fixes related to correct some exceptions thrown
445 2002-12-11 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
447 * Directory.cs: Some Exceptions added, fixed GetParent(),
448 CreateDirectory() should work with unix, native windows and
449 windows samba shares. Converted end-lines from dos-mode to unix-mode
451 2002-12-08 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
453 * Directory.cs: CreateDirectory works now with Absolute paths
454 too, not only with relative ones.
456 2002-12-07 Peter Williams <peterw@ximian.com>
458 * Directory.cs: Don't use the uninitialized pathsumm here.
459 Don't try and create "" if we're using an absolute path.
461 2002-12-07 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
463 * Directory.cs: Now the creation of a new directory works recursively
464 it will make parents as needed.
466 2002-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
468 * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
471 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
473 * StreamWriter.cs: output the encoding preamble at the start of a
476 2002-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
478 * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
480 2002-11-06 Miguel de Icaza <miguel@ximian.com>
482 * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
484 2002-10-31 Dick Porter <dick@ximian.com>
486 * FileStream.cs: Fix buffering properly this time. Also kludge
487 around broken pipe errors, treating them as EOF instead of
488 throwing an IO exception.
490 * MonoIO.cs: Return the error status in a parameter, as the
491 GetLastError() value has long since been blown away if we try and
492 look it up in a subsequent internal call invocation.
497 * Directory.cs: MonoIO methods now have an error parameter
499 2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
501 * TextReader.cs: implemented ReadBlock ().
503 2002-10-30 Miguel de Icaza <miguel@ximian.com>
505 * StreamWriter.cs: Ditto for Null stream.
507 * BinaryReader.cs: Use Unmarked here too.
509 * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
512 2002-10-23 Dick Porter <dick@ximian.com>
514 * FileStream.cs: Implemented CanSeek, and used it around all the
515 calls to MonoIO.Seek. Fixed buffering in Read() so that it
516 doesn't block forever on short reads.
518 * MonoFileType.cs: New enum for GetFileType
520 * MonoIO.cs: Added GetFileType
522 2002-10-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
524 * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
525 \n (this is what MS does).
527 2002-10-18 Dick Porter <dick@ximian.com>
529 * FileStream.cs: SeekOrigin.End still calculates the offset from
530 the end of the file with positive values extending the length.
533 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * Path.cs: some cleanup. Thanks to Martin Aliger.
537 2002-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539 * FileStream.cs: throw an exception if trying to open a directory.
540 Thanks to Martin Aliger.
542 2002-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
544 * Path.cs: fixes bug #28046.
546 2002-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
548 * StreamReader.cs: give more information when wrong parameters passed.
550 2002-09-21 Miguel de Icaza <miguel@ximian.com>
552 * FileStream.cs: Do not call FSync on the file.
554 2002-09-16 Miguel de Icaza <miguel@ximian.com>
556 * TextWriter.cs (Null): The Null field should be an instance of a
557 TextWriter class that does nothing, so it is an instance of the
558 NullTextWriter class.
560 2002-09-16 Nick Drochak <ndrochak@gol.com>
562 * MemoryStream.cs (Close): Don't throw an exception if the stream
565 2002-09-15 Miguel de Icaza <miguel@ximian.com>
567 * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
570 The API docs show no explicit mention that Flush() should even do
571 an fsync, I am thinking that we should drop that from the
574 2002-09-09 Miguel de Icaza <miguel@ximian.com>
576 * StreamWriter.cs: When no encoding is provided, create an
577 encoding without markers, this is what MS does.
579 2002-09-06 Miguel de Icaza <miguel@ximian.com>
581 * StreamReader.cs: Implement detection of byte marks and skipping
582 of byte marks at the beginning of the stream.
584 (ReadToEnd): Use buffered read instead of char-by-char
587 Correct the default arguments for creating the StreamReader.
589 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
591 * CheckArgument.cs: fixed check for empty string.
592 * Path.cs: various fixes. It passes all the tests in new PathTest.
594 2002-08-29 Duncan Mak <duncan@ximian.com>
596 * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
599 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
608 * TextWriter.cs: IDisposable fixes.
610 2002-08-24 Miguel de Icaza <miguel@ximian.com>
612 * StreamReader.cs: Removed TODOs, as the code seems to be
615 * Path.cs (GetTempFileName): Make this routine atomic by not
616 testing and then creating, but using the create call to ensure
617 that we own the filename.
619 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
621 * FileLoadException.cs: implemented ToString.
623 * StreamWriter.cs: added Null field and implemented Write (char) and
626 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
628 * StreamReader.cs: implemented NullStreamReader.
630 2002-08-21 Miguel de Icaza <miguel@ximian.com>
632 * Path.cs (GetDirectoryName): Fix for filenames with size = 1
634 * File.cs: Removed all references that threw exceptions when the
635 paths contains a colon, as this is a valid part of an identifier
638 Everywhere: The String.Empty return from GetDirectoryName means
639 that there is no directory information about the path.
641 2002-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643 * FileNotFoundException.cs: use Message and InnerException from base
644 class. Changed Message and ToString ().
646 2002-08-19 Dick Porter <dick@ximian.com>
648 * BinaryWriter.cs: The length of a string is counted in bytes, not
651 2002-08-18 Dick Porter <dick@ximian.com>
653 * BinaryReader.cs: Fixed buffering
655 2002-08-09 Nick Drochak <ndrochak@gol.com>
657 * BinaryReader.cs: added virtual to Dispose(bool).
659 2002-08-03 Jason Diamond <jason@injektilo.org>
661 * StringWriter.cs: Return UnicodeEncoding for Encoding property.
663 2002-08-03 Jason Diamond <jason@injektilo.org>
665 * StreamWriter.cs: Use GetByteCount() to get exact length instead
666 of GetMaxByteCount when converting chars to bytes.
668 2002-07-31 Duncan Mak <duncan@ximian.com>
671 (Dispose): Added and implmented.
674 (Dispose): Fixed visibility.
675 (Initialize): Fixed visibility, made internal.
678 (Dispose): Fixed visibility.
680 2002-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
683 (Create): allow file names without path.
685 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
687 * FileStream.cs: patch from erik@bagfors.nu to add
688 Name property support.
690 2002-07-20 Dick Porter <dick@ximian.com>
692 * MonoIO.cs: Added icall to CreatePipe
694 2002-07-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
696 * FileInfo.cs: fixes buglet #27940
698 2002-07-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700 * Path.cs: removed unneeded line from GetExtension.
702 2002-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
705 (.ctor): call MonoIO.GetException with the file name.
707 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
709 * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
711 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
713 * StreamReader.cs: Revert the last Peek change and fix the ReadLine
714 end of line detection code instead.
716 2002-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
719 (Peek): no need to have seek capabilitites.
721 2002-06-17 Dietmar Maurer <dietmar@ximian.com>
723 * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
725 * File.cs (Delete): only call Directory.Exists() if DirName != ""
727 2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
729 * Directory.cs: fixed bug #26133 and also test if the directory exist
730 before performing the search.
732 2002-06-12 Nick Drochak <ndrochak@gol.com>
734 * StringReader.cs (ReadLine): Return null when we get to end of the
737 2002-05-22 Lawrence Pit <loz@cable.a2000.nl>
739 * StreamWriter.cs: added ability to write null value
741 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
743 * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
744 prevent endless loops.
746 2002-05-17 Dan Lewis <dihlewis@yahoo.co.uk>
748 * FileStream.cs: Enforce lower bound on buffer size.
750 2002-05-16 Piers Haken <piersh@friskit.com>
752 * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
754 2002-05-17 Nick Drochak <ndrochak@gol.com>
756 * StreamWriter.cs: Implement buffering. Also implemented dispose
757 pattern as recommended by the MS docs. Must call Close() now
758 to ensure the buffer is flushed.
760 2002-05-15 Nick Drochak <ndrochak@gol.com>
762 * Path.cs (GetDirectoryName): Return String.Empty if there is no
765 * StreamReader.cs: Add some parameter checking on file names.
767 * StreamWriter.cs: Add some parameter checking on file names.
769 2002-05-14 Nick Drochak <ndrochak@gol.com>
771 * File.cs: Add parameter checks to most methods. Not completely done,
772 but all current unit tests pass.
774 * Path.cs: Implement GetTempFileName().
776 2002-05-10 Nick Drochak <ndrochak@gol.com>
778 * StreamWriter.cs (Flush): Throw proper exception if internal stream
779 has already been closed when we try to flush.
781 2002/05/10 Nick Drochak <ndrochak@gol.com>
783 * FileNotFoundException.cs (ToString): Don't try to use the inner
784 exception, because it might be null. Use the message instead.
786 2002-05-09 Nick Drochak <ndrochak@gol.com>
788 * File.cs (Delete): Do not throw an exception if the file does not
791 2002-05-08 Mike Gray <mikeg@mikegray.org>
793 * File.cs: According to ECMA spec and MS docs Copy(src, dest)
794 should not overwrite dest by default.
796 2002-05-08 Nick Drochak <ndrochak@gol.com>
798 * StreamWriter.cs: Add paramter check to constructors and throw
799 exceptions where appropriate.
801 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
803 * StreamReader.cs: return the number of chars read even if we diddn't
804 fill the whole buffer (makes Sergey's ilasm work with mono).
806 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
808 * FileInfo.cs (Create): Implement missing method.
810 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
812 * File.cs: Implemented CreateText method, and fixed dst compares
813 to compare against "" instead of null twice.
815 2002-05-05 Nick Drochak <ndrochak@gol.com>
817 * StreamReader.cs: Throw exceptions where needed. Changed Null field to
818 use new internal class since null cannot be passed to constructor
819 anymore. Also, fix a coule of small bugs.
821 2002-05-03 Nick Drochak <ndrochak@gol.com>
823 * MemoryStream.cs: Refrain from allocating array until the space is
824 really needed. This fixes a bug in the Length property when the
825 constructor without the byte array is used.
827 2002-05-01 Duncan Mak <duncan@ximian.com>
829 * DirectoryNotFoundException.cs (constructor): Added missing
830 serialization constructor.
832 2002-04-30 Duncan Mak <duncan@ximian.com>
834 * FileLoadException.cs (constructors): Added missing (string,
835 string) ctor, as well as (string, string, Exception) ctor.
837 (Message): Added more info to the error message
839 (ToString): Added. We'll need to add the StackTrace stuff when
842 * FileShare.cs: Add a missing field, Inheritable.
844 * TextReader.cs: Renamed Synchronised method to Synchronized.
846 * TextWriter.cs: Renamed Synchronised method to Synchronized.
847 Renamed protected member coreNewLine to CoreNewLine.
849 2002-04-30 Sergey Chaban <serge@wildwestsoftware.com>
851 * BinaryReader.cs: Allocate buffer before its first use.
852 Handle end of stream properly. Methods to read native types
853 (ReadInt* etc.) are little-endian (see Compact Framework docs).
855 * BinaryWriter.cs: Store data in little-endian format.
856 Use internal buffer for conversions.
858 2002-03-31 Dick Porter <dick@ximian.com>
860 * Directory.cs: Strip out "." and ".." from returned list
862 * FileAttributes.cs: Get the right enum values
864 2002-03-28 Dietmar Maurer <dietmar@ximian.com>
866 * TextWriter.cs (write): added check for null
868 2002-03-28 Dan Lewis <dihlewis@yahoo.co.uk>
870 * Directory.cs: Throws DirectoryNotFoundException.
871 * MonoIO.cs: Fixed to work around enum problem.
873 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
875 * StreamReader.cs: Implemented ReadLine() and ReadEnd().
877 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
879 * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
880 DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
881 wrapper and PAL classes.
883 * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
885 2002-03-25 Mike Kestner <mkestner@speakeasy.net>
887 * MemoryStream.cs (Read): Fixed bug in exception throw.
889 2002-03-24 Mike Kestner <mkestner@speakeasy.net>
891 * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
893 2002-03-23 Martin Baulig <martin@gnome.org>
895 * StreamReader.cs: Always do buffered reading, use 4k blocks.
896 (Read (char[], int, int)): Implemented.
897 (DiscardBufferedData): Implemented.
899 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
901 * StreamReader.cs : Fill out, add buffering, and use encoding.
903 2002-03-19 Martin Baulig <martin@gnome.org>
905 * StreamWriter.cs (StreamWriter (string)): The default is to override
906 the file, not to append to it.
907 (StreamWriter (string path, bool append)): When appending, seek to the
908 end of the file, otherwise truncate the file to zero length.
909 (Dispose (bool)): Close the internalStream.
910 (Flush): Flush the interalStream.
911 (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
913 2002-03-19 Dan Lewis <dihlewis@yahoo.co.uk>
915 * FileStream.cs: Flush buffer before FileSetLength.
917 2002-02-28 Miguel de Icaza <miguel@ximian.com>
919 * Stream.cs (NullStream): Do not track position, this beast does
922 2002-03-15 Dan Lewis <dihlewis@yahoo.co.uk>
924 * SearchPattern.cs: New class. Glob matching code for Directory.
925 * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
927 2002/03/15 Nick Drochak <ndrochak@gol.com>
929 * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
930 This code seemed to be copied from somewhere, and it was close,
931 but didn't match the docs. This was the last bit needed to get
932 NAnt to compile with our class libs.
934 2002-03-12 Duncan Mak <duncan@ximian.com>
936 * EndOfStreamException.cs:
937 * FileLoadException.cs:
938 * FileNotFoundException.cs:
939 * PathTooLongException.cs: Changed the base classes to IOException
940 instead of SystemException.
942 * IOException.cs: Added missing constructors.
944 2002-03-07 Nick Drochak <ndrochak@gol.com>
946 * FileMode.cs: Docs don't say this should be explicitly derived from
947 int, so just make it a normal Enum.
949 2002-03-02 Jason Diamond <jason@injektilo.org>
951 * StringReader.cs: Fixed off-by-one error in Peek() and Read().
953 2002-02-12 Nick Drochak <ndrochak@gol.com>
955 * PathTooLongException.cs: put it in the correct namespace
956 * EndOfStreamException.cs: put it in the correct namespace
958 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
960 * Directory.cs: handle opendir() return NULL and absolute filenames.
962 2002-01-31 Duncan Mak <duncan@ximian.com>
964 * FileLoadException.cs:
965 * FileNotFoundException: Added missing bits for serialization.
967 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
969 * Directory.cs: allow directories in GetFiles() mask.
971 2002-01-23 Miguel de Icaza <miguel@ximian.com>
973 * FileInfo.c (CopyTo, MoveTo): Implement.
975 * FileStream.cs: Add argument checking to the constructor.
977 * File.cs: Rewrote most of the file. Implement Copy, Open, Create,
978 OpenText, OpenWrite, Move. Made pending methods flagged as MonoTODO.
980 * Directory.cs (Delete): reimplement without using DirectoryInfo.
981 (Delete): Implement the recursive version.
982 (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
984 (getNames): dead code removal.
986 * Path.cs: define an internal DirectorySeparatorStr that we use in
989 * Wrapper.cs: Updated to new version.
991 * DirectoryInfo (Delete): Implement using the Directory API.
993 * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
994 Delete, Create, Parent, Exists, MoveTo): Implement.
996 * Directory.cs (GetListing): implement new utility function.
997 (GetDirectories): Implement.
998 (GetFileSystemEntries): Implement.
999 (GetFiles): Implement.
1001 * CheckArgument.cs (Path): Do not allow null by default.
1003 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
1005 * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
1008 2002-01-20 Nick Drochak <ndrochak@gol.com>
1010 * SeekOrigin.cs: Added Serializable attribute.
1012 2002-01-19 Duncan Mak <duncan@ximian.com>
1014 * PathTooLongException.cs:
1015 * EndOfStreamException.cs: Added to CVS.
1017 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
1019 * BufferedStream.cs: Initial implemenation. The synchronous
1020 methods for both reading and writing are implemented. I'll do the
1021 asynchronous methods in a bit.
1023 Wed Jan 9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
1025 * BinaryWriter.cs: Initial implementation. And it's all there.
1027 * BinaryReader.cs: The constructor now uses the passed in encoding,
1030 Wed Jan 9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
1032 * BinaryReader.cs: Initial implementation. I think it's complete.
1034 2002-01-04 Ravi Pratap <ravi@ximian.com>
1036 * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
1037 attribute decorations.
1039 * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
1040 Path.cs, TextReader.cs, TextWriter.cs : Ditto.
1042 * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs:
1045 2001-12-11 Dick Porter <dick@ximian.com>
1047 * FileStream.cs: Use handles rather than casting file descriptors.
1048 Added Handle property.
1050 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
1052 * CheckPermission.cs: disable ModeAccess() code: it's wrong.
1053 * FileStream.cs: only trow an exception if the read failed in ReadByte().
1054 * StreamReader.cs: implement Peek and Read.
1055 * TextWriter.cs: CLSCompliant updates.
1057 2001-11-10 Sean MacIsaac <macisaac@ximian.com>
1059 * FileNotFoundException.cs: Added some constructors
1061 * Path.cs (GetFullPath): Fixed implementation
1063 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
1065 * DirectoryNotFoundException.cs: implemented.
1067 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1069 * File.cs: fix signatures of the Open() and OpenRead() functions
1072 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
1074 * FileLoadException.cs, FileNotFoundException.cs: added.
1076 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
1078 * TextReader.cs: implemented the Read method
1080 * StreamReader.cs: impl. stubs
1082 * StreamWriter.cs: impl.
1084 * TextWriter.cs: implemented Write and WriteLine methods
1086 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1088 * FileAccess.cs, FileMode.cs: change values to be compatible with
1091 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
1093 * IOException.cs: Implemented System.IO.Exception.
1095 2001-07-18 Michael Lambert <michaellambert@email.com>
1097 *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
1099 2001-07-19 Marcin Szczepanski <marcins@zipworld.com.au>
1101 * System.IO.MemoryStream.cs: Added. Had quite a few cases of
1102 "LAMESPEC", but the tests work against the MS implementation so
1103 the major functions are right (ie. Read/Write/Seek). Some more
1104 tests required for the various constructors and exceptions.
1106 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
1108 * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
1109 New class implemenations.
1111 * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.