diff options
Diffstat (limited to 'mcs/class/corlib/System.IO')
-rw-r--r-- | mcs/class/corlib/System.IO/ChangeLog | 40 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/CheckPermission.cs | 2 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/File.cs | 6 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/FileInfo.cs | 2 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/FileStream.cs | 2 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/MonoIO.cs | 11 | ||||
-rwxr-xr-x | mcs/class/corlib/System.IO/Stream.cs | 1 | ||||
-rw-r--r-- | mcs/class/corlib/System.IO/StreamWriter.cs | 43 |
8 files changed, 16 insertions, 91 deletions
diff --git a/mcs/class/corlib/System.IO/ChangeLog b/mcs/class/corlib/System.IO/ChangeLog index 4412e03bfe9..6818c37ad82 100644 --- a/mcs/class/corlib/System.IO/ChangeLog +++ b/mcs/class/corlib/System.IO/ChangeLog @@ -1,43 +1,3 @@ -2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * Stream.cs: Close() does not call Flush(). Fixes bug #65340. - -2004-08-26 Ben Maurer <bmaurer@users.sourceforge.net> - - * StreamWriter.cs: avoid String.ToCharArray for perf. - -2004-08-18 Dick Porter <dick@ximian.com> - - * StreamWriter.cs: Flush the buffer if AutoFlush is set to true. - Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com). - -2004-08-13 Dick Porter <dick@ximian.com> - - * StreamWriter.cs: Allow FileShare.Read access to the underlying - FileStream, to be compatible with MS. Fixes bug 62152. - -2004-07-06 Dick Porter <dick@ximian.com> - - * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list. - Don't blow away the SetFileTime() error before the caller gets to - see it. Part of the bug fix to 60970. - -2004-07-05 Dick Porter <dick@ximian.com> - - * CheckPermission.cs: - * File.cs: - * FileInfo.cs: - * MonoIO.cs: - * FileStream.cs: Give the filename when throwing - FileNotFoundException. Fixes bug 61120, based on patch from - Carlos Alberto Cesario <carloscesario@gmail.com>. - -2004-07-05 Dick Porter <dick@ximian.com> - - * File.cs: File.Move() should check that the destination doesn't - already exist. Fixes bug 60915, patch based on one from Carlos - Alberto Cesario <carloscesario@gmail.com>. - 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> * Directory.cs: implemented GetLogicalDrives. diff --git a/mcs/class/corlib/System.IO/CheckPermission.cs b/mcs/class/corlib/System.IO/CheckPermission.cs index 232b1350af4..2b31cab7e01 100644 --- a/mcs/class/corlib/System.IO/CheckPermission.cs +++ b/mcs/class/corlib/System.IO/CheckPermission.cs @@ -102,7 +102,7 @@ namespace System.IO } else { - throw new FileNotFoundException("File not found", path); + throw new FileNotFoundException(); } #endif } diff --git a/mcs/class/corlib/System.IO/File.cs b/mcs/class/corlib/System.IO/File.cs index 3dcf8213759..c45dea6aecb 100644 --- a/mcs/class/corlib/System.IO/File.cs +++ b/mcs/class/corlib/System.IO/File.cs @@ -70,7 +70,7 @@ namespace System.IO if (dest.Trim () == "" || dest.IndexOfAny (Path.InvalidPathChars) != -1) throw new ArgumentException ("dest"); if (!Exists (src)) - throw new FileNotFoundException (src + " does not exist", src); + throw new FileNotFoundException (src + " does not exist"); if ((GetAttributes(src) & FileAttributes.Directory) == FileAttributes.Directory){ throw new ArgumentException(src + " is a directory"); @@ -261,11 +261,9 @@ namespace System.IO if (dest.Trim () == "" || dest.IndexOfAny (Path.InvalidPathChars) != -1) throw new ArgumentException ("dest"); if (!MonoIO.Exists (src, out error)) - throw new FileNotFoundException (src + " does not exist", src); + throw new FileNotFoundException (src + " does not exist"); if (MonoIO.ExistsDirectory (dest, out error)) throw new IOException (dest + " is a directory"); - if (MonoIO.Exists (dest, out error)) - throw new IOException (dest + " already exists"); string DirName; DirName = Path.GetDirectoryName(src); diff --git a/mcs/class/corlib/System.IO/FileInfo.cs b/mcs/class/corlib/System.IO/FileInfo.cs index 3345f61dc79..c98cf6feaec 100644 --- a/mcs/class/corlib/System.IO/FileInfo.cs +++ b/mcs/class/corlib/System.IO/FileInfo.cs @@ -81,7 +81,7 @@ namespace System.IO { public long Length {
get {
if (!Exists)
- throw new FileNotFoundException ("Could not find file \"" + OriginalPath + "\".", OriginalPath);
+ throw new FileNotFoundException ("Could not find file \"" + OriginalPath + "\".");
return stat.Length;
}
diff --git a/mcs/class/corlib/System.IO/FileStream.cs b/mcs/class/corlib/System.IO/FileStream.cs index 01b726a0b92..3024bf35d04 100644 --- a/mcs/class/corlib/System.IO/FileStream.cs +++ b/mcs/class/corlib/System.IO/FileStream.cs @@ -155,7 +155,7 @@ namespace System.IO if (access == FileAccess.Read && mode != FileMode.Create && mode != FileMode.OpenOrCreate && mode != FileMode.CreateNew && !File.Exists (name)) - throw new FileNotFoundException ("Could not find file \"" + name + "\".", name); + throw new FileNotFoundException ("Could not find file \"" + name + "\"."); if (mode == FileMode.CreateNew) { string dname = Path.GetDirectoryName (name); diff --git a/mcs/class/corlib/System.IO/MonoIO.cs b/mcs/class/corlib/System.IO/MonoIO.cs index a32e6ed5408..47fd104fdc3 100644 --- a/mcs/class/corlib/System.IO/MonoIO.cs +++ b/mcs/class/corlib/System.IO/MonoIO.cs @@ -63,8 +63,7 @@ namespace System.IO // FIXME: add more exception mappings here case MonoIOError.ERROR_FILE_NOT_FOUND: message = String.Format ("Could not find file \"{0}\"", path); - return new FileNotFoundException (message, - path); + return new FileNotFoundException (message); case MonoIOError.ERROR_PATH_NOT_FOUND: message = String.Format ("Could not find a part of the path \"{0}\"", path); @@ -82,10 +81,6 @@ namespace System.IO message = String.Format ("Path is too long. Path: {0}", path); return new PathTooLongException (message); - case MonoIOError.ERROR_INVALID_PARAMETER: - message = String.Format ("Invalid parameter"); - return new IOException (message); - default: message = String.Format ("Win32 IO returned {0}. Path: {1}", error, path); return new IOException (message); @@ -309,9 +304,7 @@ namespace System.IO result = SetFileTime (handle, creation_time, last_access_time, last_write_time, out error); - - MonoIOError ignore_error; - Close (handle, out ignore_error); + Close (handle, out error); return result; } diff --git a/mcs/class/corlib/System.IO/Stream.cs b/mcs/class/corlib/System.IO/Stream.cs index 6623da319a1..04884fb5e3d 100755 --- a/mcs/class/corlib/System.IO/Stream.cs +++ b/mcs/class/corlib/System.IO/Stream.cs @@ -77,6 +77,7 @@ namespace System.IO public virtual void Close () { + Flush (); } void IDisposable.Dispose () diff --git a/mcs/class/corlib/System.IO/StreamWriter.cs b/mcs/class/corlib/System.IO/StreamWriter.cs index 1799d74e6e6..4c51d0269be 100644 --- a/mcs/class/corlib/System.IO/StreamWriter.cs +++ b/mcs/class/corlib/System.IO/StreamWriter.cs @@ -123,7 +123,7 @@ namespace System.IO { else
mode = FileMode.Create;
- internalStream = new FileStream (path, mode, FileAccess.Write, FileShare.Read);
+ internalStream = new FileStream (path, mode, FileAccess.Write);
if (append)
internalStream.Position = internalStream.Length;
@@ -137,16 +137,12 @@ namespace System.IO { get {
return iflush;
}
- set { - if (DisposedAlready) - throw new ObjectDisposedException("StreamWriter"); - iflush = value; - - if (iflush) { - Flush (); - } - } - } + set {
+ if (DisposedAlready)
+ throw new ObjectDisposedException("StreamWriter");
+ iflush = value;
+ }
+ }
public virtual Stream BaseStream {
get {
@@ -249,28 +245,6 @@ namespace System.IO { index += todo;
decode_pos += todo;
}
- } - - void LowLevelWrite (string s) - { - int count = s.Length; - int index = 0; - while (count > 0) { - int todo = decode_buf.Length - decode_pos; - if (todo == 0) { - Decode (); - todo = decode_buf.Length; - } - if (todo > count) - todo = count; - - for (int i = 0; i < todo; i ++) - decode_buf [i + decode_pos] = s [i + index]; - - count -= todo; - index += todo; - decode_pos += todo; - } }
public override void Write (char value)
@@ -304,8 +278,7 @@ namespace System.IO { throw new ObjectDisposedException("StreamWriter");
if (value != null)
- LowLevelWrite (value); -
+ LowLevelWrite (value.ToCharArray (), 0, value.Length);
if (iflush)
Flush ();
}
|