2002-09-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
index 0a01680ab81c8f7055088e042ca58abf1310704b..8991ac9d67af63305140b82702e9ba380756d840 100644 (file)
@@ -1,3 +1,552 @@
+2002-09-21  Miguel de Icaza  <miguel@ximian.com>
+
+       * FileStream.cs: Do not call FSync on the file.
+
+2002-09-16  Miguel de Icaza  <miguel@ximian.com>
+
+       * TextWriter.cs (Null): The Null field should be an instance of a
+       TextWriter class that does nothing, so it is an instance of the
+       NullTextWriter class.
+
+2002-09-16  Nick Drochak  <ndrochak@gol.com>
+
+       * MemoryStream.cs (Close): Don't throw an exception if the stream
+       is already closed.
+
+2002-09-15  Miguel de Icaza  <miguel@ximian.com>
+
+       * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
+       Flush calls fsync().  
+
+       The API docs show no explicit mention that Flush() should even do
+       an fsync, I am thinking that we should drop that from the
+       runtime. 
+
+2002-09-09  Miguel de Icaza  <miguel@ximian.com>
+
+       * StreamWriter.cs: When no encoding is provided, create an
+       encoding without markers, this is what MS does.
+
+2002-09-06  Miguel de Icaza  <miguel@ximian.com>
+
+       * StreamReader.cs: Implement detection of byte marks and skipping
+       of byte marks at the beginning of the stream.
+
+       (ReadToEnd): Use buffered read instead of char-by-char
+       processing. 
+
+       Correct the default arguments for creating the StreamReader.
+
+2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CheckArgument.cs: fixed check for empty string.
+       * Path.cs: various fixes. It passes all the tests in new PathTest.
+
+2002-08-29  Duncan Mak  <duncan@ximian.com>
+
+       * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
+       the build for gtk#.
+
+2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BinaryReader.cs:
+       * BinaryWriter.cs:
+       * MemoryStream.cs:
+       * StreamReader.cs:
+       * StreamWriter.cs:
+       * StringReader.cs:
+       * StringWriter.cs:
+       * TextWriter.cs: IDisposable fixes.
+
+2002-08-24  Miguel de Icaza  <miguel@ximian.com>
+
+       * StreamReader.cs: Removed TODOs, as the code seems to be
+       complete. 
+
+       * Path.cs (GetTempFileName): Make this routine atomic by not
+       testing and then creating, but using the create call to ensure
+       that we own the filename.
+
+2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileLoadException.cs: implemented ToString.
+
+       * StreamWriter.cs: added Null field and implemented Write (char) and
+       Write (char []).
+
+2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * StreamReader.cs: implemented NullStreamReader.
+
+2002-08-21  Miguel de Icaza  <miguel@ximian.com>
+
+       * Path.cs (GetDirectoryName): Fix for filenames with size = 1
+
+       * File.cs: Removed all references that threw exceptions when the
+       paths contains a colon, as this is a valid part of an identifier
+       on Unix.
+
+       Everywhere: The String.Empty return from GetDirectoryName means
+       that there is no directory information about the path.
+
+2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileNotFoundException.cs: use Message and InnerException from base
+       class. Changed Message and ToString ().
+
+2002-08-19  Dick Porter  <dick@ximian.com>
+
+       * BinaryWriter.cs: The length of a string is counted in bytes, not
+       chars
+
+2002-08-18  Dick Porter  <dick@ximian.com>
+
+       * BinaryReader.cs: Fixed buffering
+
+2002-08-09  Nick Drochak  <ndrochak@gol.com>
+
+       * BinaryReader.cs: added virtual to Dispose(bool).
+
+2002-08-03  Jason Diamond  <jason@injektilo.org>
+
+       * StringWriter.cs: Return UnicodeEncoding for Encoding property.
+
+2002-08-03  Jason Diamond  <jason@injektilo.org>
+
+       * StreamWriter.cs: Use GetByteCount() to get exact length instead
+       of GetMaxByteCount when converting chars to bytes.
+
+2002-07-31  Duncan Mak  <duncan@ximian.com>
+
+       * StreamReader.cs: 
+       (Dispose): Added and implmented.
+
+       * StreamWriter.cs: 
+       (Dispose): Fixed visibility.
+       (Initialize): Fixed visibility, made internal.
+
+       * BinaryReader.cs:
+       (Dispose): Fixed visibility.
+
+2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * File.cs:
+       (Create): allow file names without path.
+
+Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * FileStream.cs: patch from erik@bagfors.nu to add
+       Name property support.
+
+2002-07-20  Dick Porter  <dick@ximian.com>
+
+       * MonoIO.cs: Added icall to CreatePipe
+
+2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileInfo.cs: fixes buglet #27940
+
+2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Path.cs: removed unneeded line from GetExtension.
+
+2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileStream.cs:
+       (.ctor): call MonoIO.GetException with the file name.
+
+2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
+
+       * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
+
+2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
+
+       * StreamReader.cs: Revert the last Peek change and fix the ReadLine
+       end of line detection code instead.
+
+2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * StreamReader.cs:
+       (Peek): no need to have seek capabilitites. 
+
+2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
+
+       * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
+
+       * File.cs (Delete): only call Directory.Exists() if DirName != ""
+
+2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Directory.cs: fixed bug #26133 and also test if the directory exist
+       before performing the search.
+
+2002-06-12  Nick Drochak  <ndrochak@gol.com>
+
+       * StringReader.cs (ReadLine): Return null when we get to end of the
+       string.
+
+2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
+
+       * StreamWriter.cs: added ability to write null value
+       
+2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
+
+       * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
+       prevent endless loops.
+
+2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * FileStream.cs: Enforce lower bound on buffer size.
+
+2002-05-16  Piers Haken <piersh@friskit.com>
+
+       * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
+
+2002-05-17  Nick Drochak  <ndrochak@gol.com>
+
+       * StreamWriter.cs: Implement buffering.  Also implemented dispose
+       pattern as recommended by the MS docs.  Must call Close() now
+       to ensure the buffer is flushed.
+
+2002-05-15  Nick Drochak  <ndrochak@gol.com>
+
+       * Path.cs (GetDirectoryName): Return String.Empty if there is no
+       directory
+
+       * StreamReader.cs: Add some parameter checking on file names.
+
+       * StreamWriter.cs: Add some parameter checking on file names.
+
+2002-05-14 Nick Drochak  <ndrochak@gol.com>
+
+       * File.cs: Add parameter checks to most methods. Not completely done,
+       but all current unit tests pass.
+
+       * Path.cs: Implement GetTempFileName().
+
+2002-05-10  Nick Drochak  <ndrochak@gol.com>
+
+       * StreamWriter.cs (Flush): Throw proper exception if internal stream
+       has already been closed when we try to flush.
+
+2002/05/10  Nick Drochak <ndrochak@gol.com>
+
+       * FileNotFoundException.cs (ToString): Don't try to use the inner
+       exception, because it might be null.  Use the message instead.
+
+2002-05-09  Nick Drochak  <ndrochak@gol.com>
+
+       * File.cs (Delete): Do not throw an exception if the file does not
+       exist.
+
+2002-05-08  Mike Gray     <mikeg@mikegray.org>
+
+       * File.cs: According to ECMA spec and MS docs Copy(src, dest)
+        should not overwrite dest by default.
+
+2002-05-08  Nick Drochak  <ndrochak@gol.com>
+
+       * StreamWriter.cs: Add paramter check to constructors and throw
+       exceptions where appropriate.
+
+Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * StreamReader.cs: return the number of chars read even if we diddn't
+       fill the whole buffer (makes Sergey's ilasm work with mono).
+
+2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
+
+       * FileInfo.cs (Create): Implement missing method.
+
+2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
+
+       * File.cs: Implemented CreateText method, and fixed dst compares
+       to compare against "" instead of null twice.
+
+2002-05-05  Nick Drochak  <ndrochak@gol.com>
+
+       * StreamReader.cs: Throw exceptions where needed. Changed Null field to
+       use new internal class since null cannot be passed to constructor 
+       anymore. Also, fix a coule of small bugs.
+
+2002-05-03  Nick Drochak  <ndrochak@gol.com>
+
+       * MemoryStream.cs: Refrain from allocating array until the space is
+       really needed. This fixes a bug in the Length property when the
+       constructor without the byte array is used.
+
+2002-05-01  Duncan Mak  <duncan@ximian.com>
+
+       * DirectoryNotFoundException.cs (constructor): Added missing
+       serialization constructor.
+
+2002-04-30  Duncan Mak  <duncan@ximian.com>
+
+       * FileLoadException.cs (constructors): Added missing (string,
+       string) ctor, as well as (string, string, Exception) ctor.
+
+       (Message): Added more info to the error message
+
+       (ToString): Added. We'll need to add the StackTrace stuff when
+       that works.
+
+       * FileShare.cs: Add a missing field, Inheritable.
+       
+       * TextReader.cs: Renamed Synchronised method to Synchronized.
+
+       * TextWriter.cs: Renamed Synchronised method to Synchronized.
+       Renamed protected member coreNewLine to CoreNewLine.
+
+2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
+
+       * BinaryReader.cs: Allocate buffer before its first use.
+       Handle end of stream properly. Methods to read native types
+       (ReadInt* etc.) are little-endian (see Compact Framework docs).
+
+       * BinaryWriter.cs: Store data in little-endian format.
+       Use internal buffer for conversions.
+
+2002-03-31  Dick Porter  <dick@ximian.com>
+
+       * Directory.cs: Strip out "." and ".." from returned list
+
+       * FileAttributes.cs: Get the right enum values
+
+2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
+
+       * TextWriter.cs (write): added check for null
+
+2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * Directory.cs: Throws DirectoryNotFoundException.
+       * MonoIO.cs: Fixed to work around enum problem.
+
+2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * StreamReader.cs: Implemented ReadLine() and ReadEnd().
+
+2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
+
+       * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
+       DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
+       wrapper and PAL classes.
+
+       * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
+
+2002-03-25  Mike Kestner <mkestner@speakeasy.net>
+
+       * MemoryStream.cs (Read): Fixed bug in exception throw.
+
+2002-03-24  Mike Kestner <mkestner@speakeasy.net>
+
+       * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
+
+2002-03-23  Martin Baulig  <martin@gnome.org>
+
+       * StreamReader.cs: Always do buffered reading, use 4k blocks.
+       (Read (char[], int, int)): Implemented.
+       (DiscardBufferedData): Implemented.
+
+2002-03-21  Mike Kestner <mkestner@speakeasy.net>
+
+       * StreamReader.cs : Fill out, add buffering, and use encoding.
+
+2002-03-19  Martin Baulig  <martin@gnome.org>
+
+       * StreamWriter.cs (StreamWriter (string)): The default is to override
+       the file, not to append to it.
+       (StreamWriter (string path, bool append)): When appending, seek to the
+       end of the file, otherwise truncate the file to zero length.
+       (Dispose (bool)): Close the internalStream.
+       (Flush): Flush the interalStream.
+       (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
+
+2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * FileStream.cs: Flush buffer before FileSetLength.
+
+2002-02-28  Miguel de Icaza  <miguel@ximian.com>
+
+       * Stream.cs (NullStream): Do not track position, this beast does
+       nothing in practice.
+
+2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
+
+       * SearchPattern.cs: New class. Glob matching code for Directory.
+       * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
+
+2002/03/15 Nick Drochak <ndrochak@gol.com>
+
+       * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
+       This code seemed to be copied from somewhere, and it was close,
+       but didn't match the docs.  This was the last bit needed to get
+       NAnt to compile with our class libs.
+
+2002-03-12  Duncan Mak  <duncan@ximian.com>
+
+       * EndOfStreamException.cs:
+       * FileLoadException.cs:
+       * FileNotFoundException.cs:
+       * PathTooLongException.cs: Changed the base classes to IOException
+       instead of SystemException.
+
+       * IOException.cs: Added missing constructors.
+       
+2002-03-07  Nick Drochak  <ndrochak@gol.com>
+
+       * FileMode.cs: Docs don't say this should be explicitly derived from
+       int, so just make it a normal Enum.
+
+2002-03-02  Jason Diamond  <jason@injektilo.org>
+
+       * StringReader.cs: Fixed off-by-one error in Peek() and Read().
+
+2002-02-12  Nick Drochak  <ndrochak@gol.com>
+
+       * PathTooLongException.cs: put it in the correct namespace
+       * EndOfStreamException.cs: put it in the correct namespace
+
+Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * Directory.cs: handle opendir() return NULL and absolute filenames.
+
+2002-01-31  Duncan Mak  <duncan@ximian.com>
+
+       * FileLoadException.cs:
+       * FileNotFoundException: Added missing bits for serialization.
+
+Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * Directory.cs: allow directories in GetFiles() mask.
+
+2002-01-23  Miguel de Icaza  <miguel@ximian.com>
+
+       * FileInfo.c (CopyTo, MoveTo): Implement.
+
+       * FileStream.cs: Add argument checking to the constructor.
+
+       * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
+       OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
+       
+       * Directory.cs (Delete): reimplement without using DirectoryInfo.
+       (Delete): Implement the recursive version.
+       (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
+       (Move): Reimplement.
+       (getNames): dead code removal.
+
+       * Path.cs: define an internal DirectorySeparatorStr that we use in
+       a few spots.
+
+       * Wrapper.cs: Updated to new version.
+       
+       * DirectoryInfo (Delete): Implement using the Directory API.
+
+       * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
+       Delete, Create, Parent, Exists, MoveTo): Implement. 
+
+       * Directory.cs (GetListing): implement new utility function.
+       (GetDirectories): Implement.
+       (GetFileSystemEntries): Implement.
+       (GetFiles): Implement.
+
+       * CheckArgument.cs (Path): Do not allow null by default.
+
+Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+       * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
+       assembly in corlib.
+
+2002-01-20 Nick Drochak  <ndrochak@gol.com>
+
+       * SeekOrigin.cs: Added Serializable attribute.
+
+2002-01-19  Duncan Mak  <duncan@ximian.com>
+
+       * PathTooLongException.cs: 
+       * EndOfStreamException.cs: Added to CVS.
+
+Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
+
+       * BufferedStream.cs: Initial implemenation.  The synchronous
+       methods for both reading and writing are implemented.  I'll do the
+       asynchronous methods in a bit.
+       
+Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
+
+       * BinaryWriter.cs: Initial implementation.  And it's all there.
+
+       * BinaryReader.cs: The constructor now uses the passed in encoding,
+       not UTF8 always.
+
+Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
+
+       * BinaryReader.cs: Initial implementation.  I think it's complete.
+
+2002-01-04  Ravi Pratap  <ravi@ximian.com>
+
+       * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
+       attribute decorations.
+
+       * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
+       Path.cs, TextReader.cs, TextWriter.cs : Ditto.
+
+       * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
+       Ditto.
+
+2001-12-11  Dick Porter  <dick@ximian.com>
+
+       * FileStream.cs: Use handles rather than casting file descriptors.
+       Added Handle property.
+
+Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * CheckPermission.cs: disable ModeAccess() code: it's wrong.
+       * FileStream.cs: only trow an exception if the read failed in ReadByte().
+       * StreamReader.cs: implement Peek and Read.
+       * TextWriter.cs: CLSCompliant updates.
+
+2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
+
+       * FileNotFoundException.cs: Added some constructors
+
+       * Path.cs (GetFullPath): Fixed implementation
+
+Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * DirectoryNotFoundException.cs: implemented.
+
+Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * File.cs: fix signatures of the Open() and OpenRead() functions
+       (they are static).
+
+Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * FileLoadException.cs, FileNotFoundException.cs: added.
+
+2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
+
+       * TextReader.cs: implemented the Read method
+
+       * StreamReader.cs: impl. stubs
+
+       * StreamWriter.cs: impl.
+
+       * TextWriter.cs: implemented Write and WriteLine methods
+
+Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * FileAccess.cs, FileMode.cs: change values to be compatible with
+       the ms ones.
+       
+Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
+
+       * IOException.cs: Implemented System.IO.Exception.
+
+2001-07-18  Michael Lambert <michaellambert@email.com>
+
+        *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
+
 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
 
        * System.IO.MemoryStream.cs: Added.  Had quite a few cases of