1 2010-04-15 Jb Evain <jbevain@novell.com>
3 * Directory.cs: don't fully qualify name when not it's necessary.
5 2010-03-29 Sebastien Pouliot <sebastien@ximian.com>
7 * DirectoryInfo.cs, FileInfo.cs: Moonlight needs the default ctor
8 to decorate them with [SecuritySafeCritical] for corclr
11 2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
13 * Directory.cs: a directory named ":" is legal in unix.
14 This gets rid of the annoying ":" folder when running
17 2010-03-22 Sebastien Pouliot <sebastien@ximian.com>
19 * Directory.cs, DirectoryInfo.cs: Disble new NET_4_0 API used in
20 SL4 until we have elevated trust working correctly (since they
21 are *not* decorated as [SecurityCritical])
23 2010-03-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
25 * StreamReader.cs: if the detected encoding is different from the
26 provided to the constructor, adjust the decoded buffer size if
27 needed. Fixes bug #589236.
29 2010-03-17 Sebastien Pouliot <sebastien@ximian.com>
31 * Stream.cs: CopyTo methods are part of SL4 too
33 2010-03-16 Jb Evain <jbevain@novell.com>
35 * FileStream.cs, File.cs, DirectoryInfo.cs, Directory.cs: use
36 MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
38 2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
42 * DirectoryInfo.cs: Add some of the 4.0 methods to Moonlight.
44 2010-03-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
46 * SearchOption.cs: Make public for Moonlight, this type is in SL4.
48 2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
50 * File.cs: Enable some NET_4_0 features in NET_2_1 since they are
51 part of SL4. Throw a SecurityException in Moonlight in non-debug
52 builds until we're ready for elevated trust.
54 2010-03-11 Zoltan Varga <vargaz@gmail.com>
56 * Path.cs (GetTempFileName): Fix infinite loop if the process doesn't have
57 write access to /tmp. Fixes #585017.
59 2010-02-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
61 * MemoryStream.cs: When setting Capacity, don't create a new buffer if
62 the new expected value is the same as the current one.
64 2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
67 * FileStream.cs: if flushing fails when disposing the stream, make
68 sure it is closed before throwing the exception. Fixes bug #579146.
70 2010-01-31 Zoltan Varga <vargaz@gmail.com>
72 * Directory.cs (Exists): Never throw an exception. Fixes #565152.
74 2010-01-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
76 * UnmanagedMemoryStream.cs: fix a regression from my previous patch.
78 2010-01-26 Marek Habersack <mhabersack@novell.com>
80 * SearchOption.cs: included in 2.1 build as internal to fix
83 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
85 * DirectoryInfo.cs: new overload for GetFileSystemInfos().
87 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
89 * UnmanagedMemoryStream.cs: add the SafeBuffer overloads.
91 2010-01-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
93 * StreamReader.cs: When detecting the encoding we usually check the
94 four first bytes looking for either UTF32 or UTF8 BOM, since they share
95 the first two bytes, but if we happen to have less than 4 bytes at
96 detection time, just check for Unicode and use it as the current
97 encoding - this is exactly what .Net does, and it is specially visible
101 2010-01-19 Alan McGovern <amcgovern@novell.com>
102 * BufferedStream.cs: Patch by Tom Philpot to optimise ReadByte and
103 WriteByte significantly by making them fulfill their request by
104 directly reading from the buffer.
106 2010-01-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
108 * UnmanagedMemoryStream.cs: Read: don't read bytes one-by-one, read all
111 2010-01-03 Carlos Alberto Cortez <calberto.cortez@gmail.com>
113 * MemoryStream.cs: Don't clear the bytes beyond Length when shrinking
114 it. Instead just save the related information for it and do it when
115 Length grows and touchs that dirty region. Refactor the code where
116 needed to avoid duplication as well.
119 2009-12-21 Sebastien Pouliot <sebastien@ximian.com>
121 * File.cs (ReadAllBytes): We cannot assume that a single call to
122 Read will return all the data we require.
124 2009-11-24 Marek Safar <marek.safar@gmail.com>
126 * StreamReader.cs, FileStream.cs: Use recycle buffer to avoid
127 repeated underlying buffer initialization (saves hefty 10MB
128 during corlib compilation).
130 * Path.cs (InsecureGetFullPath): Avoid CanonicalizePath in common
133 2009-11-23 Miguel de Icaza <miguel@novell.com>
135 * DirectoryInfo.cs: Added the new overloads.
137 * Directory.cs: Add EnumerateFiles and EnumerateFileSystemEntries
138 overloads. Share code.
140 Add new GetFileSystemEntries overload
142 2009-11-22 Miguel de Icaza <miguel@novell.com>
144 * Directory.cs: Added new IEnumerable methods to Directory.
146 * MonoIO.cs: Surface a high level FindFirst/FindNext API to
147 implement the various enumerable APIs.
149 2009-11-13 Marek Safar <marek.safar@gmail.com>
151 * UnmanagedMemoryAccessor.cs: Finished.
153 2009-11-13 Marek Safar <marek.safar@gmail.com>
155 * UnmanagedMemoryAccessor.cs: Finished.
157 2009-11-08 Miguel de Icaza <miguel@novell.com>
159 * FileInfo.cs: Partially implement.
161 * Stream.cs: Implement synchornized.
163 2009-11-07 Miguel de Icaza <miguel@novell.com>
165 * UnmanagedMemoryStream.cs: Move the CLS attribute to the methods
168 * Path.cs (Combine):e Fix implementation to follow docs (we need
169 to reset the path if any of the combined paths is rooted), and add a
172 * FileStream.cs (Flush/flushToDisk): Implement.
174 * Stream.cs (CopyTo): Implement.
176 2009-11-03 Miguel de Icaza <miguel@novell.com>
178 * FileStream.cs: Check the return value of MonoIO.Write and handle
179 short-writes as those can happen when a FileStream is used on top
182 Fixes bug: #531613, this should be backported to 2-4 and 2-6 after
185 2009-10-29 Sebastien Pouliot <sebastien@ximian.com>
187 * FileStream.cs: Reduce code duplication by merging FillBuffer
188 with FillBufferToStream
190 2009-10-28 Sebastien Pouliot <sebastien@ximian.com>
192 * FileStream.cs: Move code to deal with 'anonymous' filenames
193 into two methods (returning the path, fullpath or only the
194 filename). Default Moonlight to anonymous (not only for isolated
195 storage) unless the coreclr is disable (e.g. smcs)
197 2009-10-21 Miguel de Icaza <miguel@novell.com>
199 * BinaryWriter.cs, BinaryReader.cs: 4.0 signature update.
201 * File.cs (ReadLines, AppendAllLines, WriteAllLines): Add
204 * Path.cs (Combine): add the params overload.
206 2009-10-15 Sebastien Pouliot <sebastien@ximian.com>
208 * UnmanagedMemoryStream.cs: Fix some and add missing validations
210 2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
212 * StreamReader.cs: Add back UTF32 under NET_2_1 (for smcs)
214 2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
216 * Directory.cs: Don't expose SearchOption in NET_2_1
217 * DirectoryInfo.cs: Don't expose SearchOption in NET_2_1
218 * MonoIO.cs: Don't throw a DriveNotFoundException under NET_2_1 -
219 an IOExpection will be thrown (like the 1.x profile)
221 2009-09-22 Sebastien Pouliot <sebastien@ximian.com>
223 * StreamReader.cs: Don't use UTF32 under NET_2_1
225 2009-09-18 Sebastien Pouliot <sebastien@ximian.com>
227 * Directory.cs: Avoid imperative CAS checks and remove
228 AccessControl types for NET_2_1
229 * DirectoryInfo.cs: Remove AccessControl types for NET_2_1
230 * File.cs: Remove AccessControl types for NET_2_1
231 * FileInfo.cs: Remove AccessControl types for NET_2_1
232 * FileStream.cs: Remove AccessControl types for NET_2_1
233 * Path.cs: Avoid imperative CAS checks for NET_2_1
235 2009-09-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
237 * DirectoryInfo.cs: throw if FullPath is not a directory.
240 2009-09-04 Zoltan Varga <vargaz@gmail.com>
242 * UnmanagedMemoryAccessor.cs: New net 4.0 class.
244 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
246 * Path.cs: only trim the end of the file.
249 2009-05-05 Miguel de Icaza <miguel@novell.com>
251 * Contribution from David Uvalle <david.uvalle@gmail.com> that
252 implements FileInfo.Replace.
254 2009-04-25 Miguel de Icaza <miguel@novell.com>
256 * StreamReader.cs (DataAvailable): New internal function to work
257 around the fact that StreamReaders are now blocking on Peek(), and
258 that our own Console.TermInfoDriver used Peek() as a way of
259 probing if there was data on a stream before to avoid blocking. o
261 2009-04-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
263 * StreamReader.cs: if Peek() needs to block, do it.
266 2009-03-22 Marek Habersack <mhabersack@novell.com>
268 * FileStream.cs: implemented the SafeFileHandle property.
270 2009-02-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
272 * StringReader.cs: LF followed by CR is 2 lines.
274 2009-02-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
277 * MonoIOError.cs: enable ERROR_NOT_SAME_DEVICE.
279 2009-02-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
281 * StreamReader.cs: when a LF ends a decoded buffer and is not followed
282 by a CR in the next decoded buffer, we didn't flush the string.
285 2009-01-08 Christian Prochnow <cproch@seculogix.de>
287 * DriveInfo.cs: Added GetDiskFreeSpaceInternal
288 to query drive size and free space.
289 Added GetDriveTypeInternal to query type of drive.
291 2008-12-20 Miguel de Icaza <miguel@novell.com>
293 * FileStream.cs: Found while debugging webcompare, we should add
294 Obsoletes to the FileStream constructors that take IntPtrs.
296 2008-11-27 Sebastien Pouliot <sebastien@ximian.com>
298 * FileInfo.cs: Change ToString (in 2.1) not to return the full path
299 of the filename (since it's not SecurityCritical).
301 2008-11-09 William Holmes <billholmes54@gmail.com>
303 * TextReader.cs : Adding the NullTextReader as a private class to
304 the TestReader class for the Null field of the TestReader.
306 Code is contributed under MIT/X11 license.
308 2008-11-06 Jonathan Chambers <joncham@gmail.com>
310 * MonoIO.cs : Add DuplicateHandle.
312 2008-10-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
314 * Path.cs: clean the path when we're not in windows.
317 2008-10-12 Zoltan Varga <vargaz@gmail.com>
319 * BinaryReader.cs (Read7BitEncodedInt): Check for an invalid encoding.
322 2008-08-22 Sebastien Pouliot <sebastien@ximian.com>
324 * FileStream.cs, MonoIO.cs: For Silverlight 2.0 (NET_2_1) we always
325 throw IsolatedStorageException instead of FileNotFoundException and
326 DirectoryNotFoundException.
328 2008-08-21 Sebastien Pouliot <sebastien@ximian.com>
330 * FileStream.cs: Adjust exception being thrown for Silverlight 2.0.
331 * FileSystemInfo.cs: In Silverlight 2 this type does not inherit from
332 MarshalByRefObject nor does it implement ISerializable.
333 * Stream.cs: In Silverlight 2 this type does not inherit from
335 * TextReader.cs: In Silverlight 2 this type does not inherit from
337 * TextWriter.cs: In Silverlight 2 this type does not inherit from
339 * UnmanagedMemoryStream.cs: For Silverlight 2 add CLSCompliant(false)
340 to the PositionPointer property.
342 2008-08-15 Gert Driesen <drieseng@users.sourceforge.net>
344 * StreamWriter.cs: Change argument check for buffersize to require
345 positive number. Removed duplicate disposed check for AutoFlush.
346 Removed unnecessary initialization of bools.
348 2008-08-15 Gert Driesen <drieseng@users.sourceforge.net>
350 * StreamWriter.cs: Removed duplicate argument checks from .ctor taking
351 path, as these checks are already done in FileStream .ctor. Removed
352 parameter name from ArgumentException to match MS.
354 2008-07-28 Marek Safar <marek.safar@gmail.com>
356 * File.cs: Delay DateTime .cctor invocation.
358 2008-07-04 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
360 * File.cs: Fix parameter name
362 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
370 * DriveNotFoundException.cs:
371 * Directory.cs: Fix parameter names
373 2008-06-30 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
375 * BinaryReader.cs: Fix parameter names
376 * BinaryWriter.cs: Fix parameter names, fix exceptions
377 * BufferedStream.cs: Fix parameter names
378 * Directory.cs: Fix parameter names, fix exceptions, optimize == "" cases
380 * DirectoryNotFoundException.cs:
381 * FileNotFoundException.cs:
382 * FileStream.cs: Fix parameter names, fix exceptions
383 * IOException.cs: Fix parameter names
385 2008-06-21 Gert Driesen <drieseng@users.sourceforge.net>
387 * Path.cs: Fixed exception arguments to match MS. Removed obsolete
388 LAMESPEC comment. In GetPathRoot, throw ArgumentException if path
389 is whitespace-only. Throw ArgumentException in HasExtension, if path
390 contains invalid path characters.
392 2008-05-29 Robert Jordan <robertj@gmx.net>
394 * Path.cs (InsecureGetFullPath): Call CanonicalizePath for
396 * Path.cs (GetServerAndShare): New helper method.
397 * Path.cs (SameRoot, CanonicalizePath): Add UNC support.
398 Fixes #394681 and a bunch of TestGetFullPath unit test cases.
399 All changes are Win32 related.
401 2008-05-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
403 * DriveInfo.cs: Fix compiler warning
405 2008-05-07 Sebastien Pouliot <sebastien@ximian.com>
407 * CheckArgument.cs: Removed. Lots of unused code. The two methods
408 used are now inlined into Path.cs
409 * CheckPermission.cs: Removed. Lots of unused code.
410 * Path.cs: Inlined two checks.
411 [Found using Gendarme]
413 2008-04-18 Sebastien Pouliot <sebastien@ximian.com>
415 * Path.cs: Change PathSeparatorChars from private to internal since
416 it's needed for IsolatedStorage.
418 2008-04-17 Gert Driesen <drieseng@users.sourceforge.net>
420 * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
421 indicates whether the original path should only container the last
422 part of the directory. Moved logic for determining the Name and
423 Parent to Initialize method, to allow it to be re-used on
424 deserialization. Renamed argument names to fix corcompare issues.
425 Added missing argument checks.
426 * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
427 DirectoryInfo to ensure OriginalPath only contains last part of
429 * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
430 FileOptions to FileStream. Removed redundant directory check from
431 Delete and modified exceptions to more closely match MS.
432 * FileInfo.cs: Added argument check to ctor to match MS. Added missing
433 deserialization ctor. Modified argument checks in MoveTo, and removed
434 redundant checks. Added missing argument checks in CopyTo. Code
436 * FileSystemInfo.cs: Modified argument checks in CheckPath to more
438 * MonoIO.cs: Added msg that does not disclose filename for
440 * Path.cs: Use String.Length instead of comparing with String.Empty.
441 Removed exceptions argument names to match MS.
443 2008-04-16 Gert Driesen <drieseng@users.sourceforge.net>
445 * File.cs: Changed argument names and thrown exception to better match
446 .NET. Use String.Length instead of comparison with empty string.
447 * DirectoryInfo.cs: Added missing deserialization ctor.
449 2008-04-04 Dick Porter <dick@ximian.com>
451 * File.cs: Pretty up the file share exception with the path name.
453 2008-03-28 Sebastien Pouliot <sebastien@ximian.com>
455 * Directory.cs: Exception differs when deleting a directory if it
456 does not exists or if a file of the same name exists. Also don't
457 include path in exception if Delete fails.
459 2008-03-20 Marek Safar <marek.safar@gmail.com>
461 * Path.cs (Combine): Call ToString to optimize concatenation.
463 2008-03-02 Gert Driesen <drieseng@users.sourceforge.net>
465 * DriveInfo.cs: Removed debug code.
467 2008-02-15 Miguel de Icaza <miguel@novell.com>
469 * UnmanagedMemoryStream.cs: Implement few missing pieces.
471 2008-02-10 Zoltan Varga <vargaz@gmail.com>
473 * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
474 calls + creation of a string for each character read.
476 2008-02-03 Sebastien Pouliot <sebastien@ximian.com>
478 * MemoryStream.cs: Remove unused code found by Gendarme.
480 2008-01-16 Zoltan Varga <vargaz@gmail.com>
482 * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior.
485 2007-12-28 Zoltan Varga <vargaz@gmail.com>
487 * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
488 unsafe icalls. Fixes #350860.
490 2007-11-21 Atsushi Enomoto <atsushi@ximian.com>
492 * FileStream.cs : Close() does not exist in 2.0 (Stream does).
493 Move GC.SuppressFinalize() to Dispose(true).
495 2007-11-12 Juraj Skripsky <js@hotfeet.ch>
497 * Path.cs (GetRandomFileName): Return filenames containing only
498 characters from the range [a..z0..9] as MS.NET does.
500 2007-11-02 Atsushi Enomoto <atsushi@ximian.com>
502 * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
503 the maximum max char count for Decoder.GetChars() since it might
504 contain pending buffer by flush. Fixed bug #338370.
506 2007-11-01 Miguel de Icaza <miguel@novell.com>
508 * Path.cs (GetDirectoryName): The paths returned from this routine
509 should be canonical, not just a substring. In addition to fixing
510 this, it also fixes #324742.
512 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
514 * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
515 for replacement fallback. Binary serialization regression is fixed.
517 2007-09-06 Atsushi Enomoto <atsushi@ximian.com>
519 * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
520 Dispose(bool) rather than Close().
521 Stream.Dispose() is virtual in 2.0.
523 2007-08-24 Gert Driesen <drieseng@users.sourceforge.net>
525 * BinaryReader.cs: Fixed line endings.
526 * FileStream.cs: Rename name argument to path. Spaces to tabs.
528 2007-08-20 William Holmes <billholmes54@gmail.com>
530 *File.cs: Add implementation for IO.File.Replace methods.
531 *MonoIO.cs: Declared an internal call for ReplaceFile
533 Code is contributed under MIT/X11 license.
535 2007-07-31 Dick Porter <dick@ximian.com>
537 * MonoIO.cs: Fix formatting of 'access denied' exception when the
538 path info isn't known. Fixes bug 82141.
540 2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
542 * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
543 used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
546 2007-06-21 Dick Porter <dick@ximian.com>
548 * FileStream.cs: Fix FileShare test, fixing better bug 79250.
550 2007-05-28 Atsushi Enomoto <atsushi@ximian.com>
552 * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
553 * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
555 2007-05-25 Gert Driesen <drieseng@users.sourceforge.net>
557 * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
558 to read bytes as this allows us to start reading from the current
559 position. In Read, return 0 when reading beyond the end of the stream
560 and only read bytes until the end of the stream (not capacity).
561 In ReadByte, return -1 when reading beyond the end of the stream.
562 In SetLength: changed argument validation (and reported exceptions) to
563 match MS, removed duplicate access check and changed the current
564 position if length is less than position. In Write: throw
565 NotSupportedException when attempting to write beyond capacity, use
566 Marshal.WriteByte since that allows us to start writing from the
567 current position. Adjust length when position moves beyond length
568 in both Write and WriteByte. Allow position to be moved beyond
569 capacity of stream. Fixed position using Seek (=+ typo). Changed
570 CanRead to ignore current position. Allow Position to be used to move
571 beyond capacity of stream.
573 2007-05-24 Gert Driesen <drieseng@users.sourceforge.net>
575 * UnmanagedMemoryStream.cs: Changed argument names and exceptions
576 (msg, params) to match MS. Verify access argument in ctor.
578 2007-05-23 Atsushi Enomoto <atsushi@ximian.com>
580 * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
581 return buffer beyond the requested length. Fixed .ctor() for wrong
582 capacity initialization.
584 2007-05-12 Jonathan Chambers <joncham@gmail.com>
586 * FileStream.cs: Implement SafeHandle constructors.
588 2007-05-01 Dick Porter <dick@ximian.com>
591 * Stream.cs: Missed a few 2.0 methods
593 2007-04-30 Dick Porter <dick@ximian.com>
597 * DirectoryNotFoundException.cs:
608 * UnmanagedMemoryStream.cs:
611 * FileLoadException.cs:
618 * EndOfStreamException.cs:
621 * PathTooLongException.cs:
623 * FileNotFoundException.cs: 2.0 profile updates
625 2007-04-21 Alp Toker <alp@atoker.com>
627 * FileStream.cs: Respect request for buffering in all cases.
629 Gonzalo added code in r42667 that disables buffering even when it is
630 requested, in the case that ftype != MonoFileType.Disk. This was
631 killing performance for users who do Console.OpenStandardOutput(1024)
632 but were ending up with a non-buffered FileStream.
634 The new behaviour appears correct but we should watch for any
637 2007-04-05 Dick Porter <dick@ximian.com>
639 * Directory.cs: Pass combined path and pattern to
640 MonoIO.GetFileSystemEntries()
642 2007-04-03 Alp Toker <alp@atoker.com>
644 * UnmanagedMemoryStream.cs: Should not have a public Dispose().
645 This behaviour is already provided by the base class.
647 2007-04-03 Alp Toker <alp@atoker.com>
649 * Stream.cs: CreateWaitHandle() obsolete in 2.0.
651 2007-03-18 Alp Toker <alp@atoker.com>
653 * UnmanagedMemoryStream.cs:
654 * Directory.cs: Exception message typo fixes.
656 2007-03-11 Zoltan Varga <vargaz@gmail.com>
658 * UnmanagedMemoryStream.cs: Fix a warning.
660 2007-03-05 Miguel de Icaza <miguel@novell.com>
662 * Path.cs: Manually call FileStream and pass the new internal
663 FileOptions.1 flag that means "This is a temporary file, use 600
666 * FileOptions.cs: Document the new private enum value.
668 2007-02-22 Dick Porter <dick@ximian.com>
671 * MonoIO.cs: Handle ERROR_CANNOT_MAKE.
673 2007-02-19 Eyal Alaluf <eyala@mainsoft.com>
675 * DirectoryInfo.cs, Directory.cs: Use MonoNotSupported & MonoLimitation
676 attribute to tag that DirectorySecurity is not supported.
678 2007-02-19 Boris Kirzner <borisk@mainsoft.com>
680 * Path.cs: fix order of InvalidPathChars on windows.
682 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
684 * StreamReader.cs: Removed checks for non-existing directory or file,
685 since these checks are also performed in FileStream.
687 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
689 * FileStream.cs: Always resolve to absolute paths for exceptions, when not
692 2007-01-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
694 * StreamReader.cs: fix for bug #75526. We return earlier from Read () if
695 the underlying stream might block or end on the next read.
697 2007-01-22 Miguel de Icaza <miguel@novell.com>
699 * DirectoryInfo.cs: Throw a better exception (accorind go the
700 docs, UnauthorizedAccessException is thrown if the underlying
701 platform does not support it and *also* if there are no
702 permissions to access it, which is more convenient than the
703 PlatformNotSupportedException that only states that it needs Win2k
706 2006-12-23 Alp Toker <alp@atoker.com>
708 * Directory.cs: "platfor" typofix
710 2006-12-22 Sebastien Pouliot <sebastien@ximian.com>
712 * File.cs: Add stubs for Encrypt and Decrypt that throws
713 NotSupportedException just like non-NTFS file systems would with MS.
714 Remove nested #if NET_2_0.
715 * FileInfo.cs: Add stubs for Encrypt and Decrypt that throws
716 NotSupportedException just like non-NTFS file systems would with MS.
718 2006-12-22 Atsushi Enomoto <atsushi@ximian.com>
720 * Directory.cs : non NET_2_0 build fix.
722 2006-12-15 Miguel de Icaza <miguel@novell.com>
724 * FileInfo.cs: Empty implementations for Encrypt and Decrypt
726 Mon Dec 11 11:40:06 CET 2006 Paolo Molaro <lupus@ximian.com>
728 * FileStream.cs: correct exception message patch from
729 Markus Mauhart <mmauhart@chello.at>.
731 2006-11-28 Duncan Mak <duncan@novell.com>
733 * TextReader.cs (Dispose): Expose as public in NET_2_0.
735 2006-11-26 Miguel de Icaza <miguel@novell.com>
737 * DriveInfo.cs, DriveType.cs: Add a couple of classes for
740 Thanks MoMA! http://www.mono-project.com/Moma
742 2006-11-16 Miguel de Icaza <miguel@novell.com>
744 * DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
747 2006-11-13 Dick Porter <dick@ximian.com>
749 * Directory.cs: Don't follow symlinks when deleting directories.
750 Keeps bug 79733 fixed while fixing bug 79887.
752 * MonoIO.cs: ExistsSymlink() added, which checks for
753 FileAttributes.ReparsePoint.
755 2006-11-07 Dick Porter <dick@ximian.com>
757 * Directory.cs: CreateDirectory() should only throw IOException in
758 the 2.0 profile if a file already exists with the same name, not a
761 2006-11-03 Jensen Somers <jensen.somers@gmail.com>
763 * Directory.cs: CreateDirectory() should throw IOException if a
764 file or directory with the same name already exists, in the 2.0
765 profile. Fixes bug 79806.
767 2006-10-30 Joel Reed <joel.reed@ddiworld.com>
769 * DirectoryInfo.cs: Implement SearchOption.AllDirectories option.
771 2006-10-11 Dick Porter <dick@ximian.com>
773 * FileStream.cs: Cope with 2.0 FileShare.Delete values. Patch by
774 Peter Dettman <peter.dettman@iinet.net.au> fixing bug 79250.
776 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * FileInfo.cs: added 2.0 IsReadOnly. Patch by Joel Reed.
780 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
782 * FileInfo.cs: eol-style.
784 2006-09-19 Gert Driesen <drieseng@users.sourceforge.net>
786 * FileNotFoundException.cs: Changed message for default ctor to match
787 MS. Use internal message field of Exception to check whether Message
788 is null. On 2.0 profile, use file/assembly load failure message when
789 no message is set and a filename was specified. On 1.0 profile,
790 always use file/assembly load failure message when no message is set
791 (regardless of whether a filename was specified or not). Made some
792 cosmetic changes to ToString to have it match MS.
794 2006-09-02 Zoltan Varga <vargaz@gmail.com>
796 * BinaryReader.cs (Read): Avoid allocating memory when reading a char.
798 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
800 * StreamReader.cs: avoid ArgumentOutRangeException when the underlying
801 stream returns -1 on Read.
803 2006-08-30 Lluis Sanchez Gual <lluis@novell.com>
805 * FileInfo.cs: OpenRead should open the file using the Read share mode.
807 2006-08-21 Sebastien Pouliot <sebastien@ximian.com>
809 * Path.cs: Added internal method IsPathSubsetOf required to implement
810 correctly FileIOPermission (better located here).
812 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
814 * File.cs: (Delete) avoid creating the exception object for the 'file
817 2006-07-24 Miguel de Icaza <miguel@novell.com>
819 * FileShare.cs: Add Delete in 2.0
821 2006-07-06 Dick Porter <dick@ximian.com>
823 * Directory.cs: When creating a directory treat ERROR_FILE_EXISTS
824 (ie a file already exists with that name) the same as
825 ERROR_ALREADY_EXISTS (ie a directory already exists with that
826 name.) Keeps bug 50753 fixed when I fix the io-layer
827 CreateDirectory() behaviour.
829 2006-06-21 Atsushi Enomoto <atsushi@ximian.com>
831 * Directory.cs : implemented GetFiles() and GetDirectories() which
832 takes SearchOption (as they are used in one of ruby.net stuff).
834 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
836 * File.cs: never throw in Exists.
838 2006-05-18 Miguel de Icaza <miguel@novell.com>
840 * Directory.cs (Exists): Ignore INVALID_HANDlE, return false.
842 2006-06-03 John Luke <john.luke@gmail.com>
844 * Path.cs: fix typo in [Obsolete] message
846 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
848 * BinaryReader.cs: use BlockCopyInternal.
850 2006-05-01 Daniel Drake <dsd@gentoo.org>
852 * Directory.cs: Return false (as documented) on ERROR_ACCESS_DENIED in
853 Exists() rather than throwing an exception. Bug #78239.
855 2006-04-29 Atsushi Enomoto <atsushi@ximian.com>
857 * UnexceptionalStreamReader.cs (Read): Fix for #78218, where we
858 consumed characters from the input even when the count was not set
859 to zero, causing some characters to be missing in some
862 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
864 * Directory.cs: make sure the parent directory is not an empty string
865 when a file name with no path is provided. Fixes bug #78209. Patch by
868 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
870 * StreamReader.cs : implemented EndOfStream property.
871 * File.cs : implemented AppendAllText(), WriteAllLines(),
872 WriteAllBytes() and ReadAllLines(). Bug #77813 fixed.
874 2006-04-28 Robert Jordan <robertj@gmx.net>
876 * Path.cs (GetPathRoot): Return just the \\server\share
877 part of a UNC. Fixes #78147.
880 2006-04-26 Miguel de Icaza <miguel@novell.com>
882 * FileStream.cs: Implement the FileOptions usage by passing all
883 the information to the C layer. Remove the "isAsync" argument for
884 MonoIO.Open, and instead pass it on the FileOptions.
886 * FileOptions.cs: Make it build when including WriteThrough
888 * MonoIO.cs: Update MonoIO.Open signature to drop the async
889 argument and take FileOptions instead.
891 2006-04-21 Zoltan Varga <vargaz@gmail.com>
893 * FileStream.cs: Add new net 2.0 ctor.
895 * FileOptions.cs: New file.
897 2006-03-21 Miguel de Icaza <miguel@novell.com>
899 * Stream.cs: In 2.0 make Close call Dispose(true).
901 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
903 * FileStream.cs: Seek() should flush the buffer, if any. Fixes bug
906 2006-03-07 Carlos Alberto Cortez <calberto.cortez@gmail.com>
908 * Stream.cs: Add 2.0 members to Stream.cs (CanTimeout,
909 ReadTimeout and WriteTimeout).
911 2006-02-27 Gert Driesen <drieseng@users.sourceforge.net>
913 * File.cs: In 2.0 profile, File.Get****Time(Utc) should not throw
914 IOException if specified path does not exist. Fixes bug #77641.
916 2006-02-26 Gert Driesen <drieseng@users.sourceforge.net>
918 * FileStream.cs: To match MSFT, ignore FileShare.Inheritable on 2.0
919 profile. This fixes bug #77644. Improved usefulness of some existing
922 2006-02-22 Joerg Rosenkranz <joergr@voelcker.com>
924 * MonoIO.cs, MonoIOError.cs: Verbose exception for error 39
927 2006-02-03 Zoltan Varga <vargaz@gmail.com>
929 * Stream.cs FileStream.cs: Add new 2.0 Dispose () method and protected
930 Dispose (bool) method.
932 2006-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
934 * TextWriter.cs: Dispose () is public in 2.0.
936 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
938 * UnexceptionalStreamReader.cs: Read (char,int,int) should not
939 return -1. Thanks to Jakob Berkman.
941 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
943 * StreamReader.cs: (ReadToEnd) if Read returns -1 or 0, we're done.
945 2006-01-18 Atsushi Enomoto <atsushi@ximian.com>
947 * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow
948 caused infinite loop on Windows.
950 2006-01-18 Atsushi Enomoto <atsushi@ximian.com>
952 * DirectoryInfo.cs : on Windows top directory is something like c:\.
954 2006-01-17 Joshua Tauberer <tauberer@for.net>
956 * StreamReader.cs: Avoid two totally unnecessary string creations.
959 2006-01-13 Ben Maurer <bmaurer@andrew.cmu.edu>
961 * TextWriter.cs: Call char[],int,int from the Write(char[]) method
962 both for msft compat and for performance. Thanks to "Mike Glenn"
963 <mglenn@zoominternet.net> for pointing.
965 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
967 * File.cs: Support for Read/WriteAllText
969 2006-01-11 Sebastien Pouliot <sebastien@ximian.com>
971 * Path.cs: Previous fix caused regression of bug #76191. Fixed (again)
973 2006-01-09 Sebastien Pouliot <sebastien@ximian.com>
975 * Path.cs: Fix c14n on Windows when the first separator after the root
976 isn't '\'. Fix problems for XSP with 1.1.13.
978 2006-01-07 Miguel de Icaza <miguel@novell.com>
980 * Path.cs (GetTempFilename): Append ".tmp" to the path, some
981 external application expect this extension.
983 2006-01-05 Kornél Pál <kornelpal@hotmail.com>
985 * DriveNotFoundException.cs: Added.
986 * MonoIO.cs: Added ERROR_INVALID_DRIVE handling. Pass HResult to
987 IOException constructors.
988 * MonoIOError.cs: Expose ERROR_INVALID_DRIVE.
990 2006-01-02 Sebastien Pouliot <sebastien@ximian.com>
992 * UnexceptionalStreamReader.cs: Re-implemented the Read method to fix
993 the new line handling when reading from the Console (bug #77108).
995 2005-12-24 Kornél Pál <kornelpal@hotmail.com>
997 * FileStream.cs: Set buf_start to actual initial position when creating
998 FileStreams from handles.
1000 2005-12-23 Sebastien Pouliot <sebastien@ximian.com>
1002 * DirectoryInfo.cs: Fixed #77090 to fix /home parent to be / (and not
1005 2005-12-21 Sebastien Pouliot <sebastien@ximian.com>
1007 * Path.cs: Fixed #77058 where a Windows drive wasn't considered during
1008 path canonalization.
1010 2005-12-20 Sebastien Pouliot <sebastien@ximian.com>
1012 * Path.cs: Fixed #77007 where a Windows drive is specified with a
1015 2005-12-15 Sebastien Pouliot <sebastien@ximian.com>
1017 * DirectoryInfo.cs: Fixed #76903 where the Name property wasn't
1018 correct in some cases. Added special case for Windows drives. Reduced
1019 temporary allocations in Get* methods (removed ArrayList). Added some
1020 new 2.0 methods (partial).
1021 * MonoIO.cs: Removed InvalidPathChars icall as the return value is
1022 different from 1.x and 2.0. The values are now defined in Path.cs.
1023 * Path.cs: Fixed #76191 so that GetFullPath on a Windows drive returns
1024 the current directory (if it's on the specified drive). Fixed 2.0 API
1025 changes (e.g. static class).
1026 * SearchOption.cs: Added missing [Serializable] (2.0).
1028 2005-12-07 Zoltan Varga <vargaz@gmail.com>
1030 * Directory.cs: Fix a warning.
1032 2005-11-10 Dick Porter <dick@ximian.com>
1034 * DirectoryInfo.cs: Fix endless recursion problem with root
1035 directory on windows too. Fixes bug 76191.
1037 2005-11-06 Zoltan Varga <vargaz@freemail.hu>
1039 * Directory.cs: Add stub for net 2.0 GetFiles method.
1041 * SearchOption.cs: New file.
1043 2005-10-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1045 * StreamReader.cs: made ReadLine() less memory-hungry. Fixes bug #76399.
1047 2005-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1049 * MonoIO.cs: replace FindFirst/FindNext/FindClose with
1050 GetFileSystemEntries.
1051 * Directory.cs: simplify GetFileSystemEntries by using the new icall.
1053 2005-10-01 Ben Maurer <bmaurer@ximian.com>
1055 * BinaryReader.cs: The patch below had a nasty little bug with
1056 long strings that had non-ascii chars in it, because it was
1057 looking at the char count, not the byte count.
1059 2005-09-11 Ben Maurer <bmaurer@ximian.com>
1061 * BinaryReader.cs: An optimization for ReadString that had been
1062 approved/well tested for a while but never gotten in. Bug #52754.
1064 2005-09-05 Miguel de Icaza <miguel@novell.com>
1066 * MonoIOError.cs: expose the ERROR_DIR_NOT_EMPTY as we are
1069 * MonoIO.cs: Return a properly named error.
1071 2005-08-23 Raja R Harinath <rharinath@novell.com>
1074 * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
1076 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1078 * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
1079 expanding the buffer.
1081 2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1083 * Directory.cs: don't leak 'find' handles.
1085 2005-07-05 Dick Porter <dick@ximian.com>
1088 * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
1090 2005-07-04 Sebastien Pouliot <sebastien@ximian.com>
1092 * DirectoryInfo.cs: Fixed recursion problem with root directory
1093 introduced when fixing bug #75443.
1095 2005-07-02 Sebastien Pouliot <sebastien@ximian.com>
1097 * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
1099 * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
1100 separator. Added ComVisible for NET_2_0. Normalized line endings.
1102 2005-05-26 Miguel de Icaza <miguel@novell.com>
1104 * File.cs (ReadAllBytes): add.
1106 Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
1108 * FileStream.cs: complete fix for #74971.
1110 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1112 * FileStream.cs: make WriteByte work in all cases when no buffer is
1113 being used. Fixes bug #74971.
1115 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1117 * Directory.cs: if the pattern is just a file name and it exists, return
1118 it right away. Fixes bug #72143.
1120 2005-05-06 Ben Maurer <bmaurer@ximian.com>
1122 * File.cs (Open): If a stream is opened with Append access, you
1123 only want Write access. Fixes bug #71088.
1125 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1127 * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
1130 2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1132 * Path.cs: don't trim the path in CanonicalizePath on non-windows
1133 systems. Fixes bug #53173.
1135 2005-04-09 Miguel de Icaza <miguel@novell.com>
1137 * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
1138 file if the position of the stream is not at the beginning. Fixes
1141 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1144 * MonoIO.cs: remove dead code related to async IO.
1146 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
1148 * Directory.cs: Added a Demand for Read/Write when creating a new
1150 * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on
1152 * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
1153 Added an Assert for unrestricted file access to GetTempFilename as
1154 the method must create the (zero-length) file and can be called from
1155 partially trusted code. Added a Demand for unrestricted environment
1156 access to GetTempPath method.
1157 * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
1158 accepting a file handle. Added LinkDemand and InheritanceDemand for
1159 UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
1161 2005-03-16 Lluis Sanchez Gual <lluis@novell.com>
1163 * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
1164 decimals in little endian format.
1166 2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1169 * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
1171 2005-03-15 Sebastien Pouliot <sebastien@ximian.com>
1173 * FileStream.cs: Anonymize part of the path when exceptions are throw
1174 by a FileStream is used for isolated storage. Throw a DirectoryNotFound
1175 Exception for any FileMode not just CreateNew (see new unit tests).
1177 2005-03-09 Dick Porter <dick@ximian.com>
1180 * MonoIO.cs: Add a few more exception messages
1182 2005-02-11 Zoltan Varga <vargaz@freemail.hu>
1184 * CheckPermission.cs: Fix warning.
1186 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188 * File.cs: Exists does not throw when there are invalid characters in
1190 * MonoIOError.cs: uncommented INVALID_NAME.
1192 Patch by Gert Driesen.
1194 2005-01-31 Sebastien Pouliot <sebastien@ximian.com>
1196 * FileStream.cs: Added new constructor to allow anonymous files (i.e.
1197 when Name property is "[Unknown]") for IsolatedStorage. Added
1198 SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
1199 for the NET_2_0 profile.
1201 2005-01-28 Sebastien Pouliot <sebastien@ximian.com>
1203 * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
1205 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
1207 * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
1208 (GAC) log from being disclosed unless code has ControlPolicy and
1209 ControlEvidence. Added missing HResult value. Fixed Message property
1210 to match MS results. Changed ToString to use a StringBuilder.
1212 2005-01-24 Sebastien Pouliot <sebastien@ximian.com>
1214 * Directory.cs: Added CAS security to Get|SetCurrentDirectory to
1215 complete Environment security checks.
1217 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1219 * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
1221 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1223 * File.cs: delegate to the runtime the task of checking for destination
1224 file existence in Move.
1226 2004-12-11 Ben Maurer <bmaurer@ximian.com>
1228 * BinaryReader.cs (ReadByte): Check for exceptions here.
1230 2004-12-06 Atsushi Enomoto <atsushi@ximian.com>
1232 * TextWriter.cs : create CoreNewLine in another .ctor().
1234 2004-12-05 Ben Maurer <bmaurer@ximian.com>
1236 * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
1237 not make a string out of the array every time it is called.
1239 Thanks to Atsushi for the idea.
1241 2004-12-04 Ben Maurer <bmaurer@ximian.com>
1243 * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
1245 * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
1247 2004-11-19 Dick Porter <dick@ximian.com>
1250 * MonoIO.cs: Add a proper message for sharing violation
1252 2004-11-01 Ben Maurer <bmaurer@ximian.com>
1254 * MonoIOError.cs: All of these fields just take up room in corlib,
1255 bloating things up. To make it worse, we need to malloc data at
1256 runtime about them. Since most are not used, am commenting them
1259 2004-09-19 Dick Porter <dick@ximian.com>
1261 * UnexceptionalStreamWriter.cs:
1262 * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
1263 StreamReader that catch IOException. Used by System.Console so
1264 that graphical applications dont get IO errors when their
1265 stdin/out/err vanishes (ie when they spew debug output.)
1267 2004-09-12 Ben Maurer <bmaurer@ximian.com>
1269 * BinaryReader.cs: Use ReadByte when possible. Gives a tad
1270 of perf, and fixes a bug reported on mono-patches-list
1272 2004-09-08 Miguel de Icaza <miguel@ximian.com>
1274 * File.cs: Added Gettextification, provide a better error message
1277 2004-09-08 Marek Safar <marek.safar@seznam.cz>
1280 * File.cs: Class is static for NET_2_0.
1282 2004-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1284 * MemoryStream.cs (SetLength): Use Array.Clear here
1286 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
1288 * Path.cs (Combine): Array.IndexOf is slow (because of the
1289 special cases it must handle). So, rather than doing IndexOf
1290 just check each type of seperator.
1292 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
1294 * StringReader.cs (StreamReader): remove sourceChars and disposed
1296 (Read): Copy directly from the string, rather than a char []
1297 (Dispose, CheckObjectDisposedException): the flag for being
1298 disposed is now source == null.
1300 2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1302 * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
1304 2004-08-26 Ben Maurer <bmaurer@users.sourceforge.net>
1306 * StreamWriter.cs: avoid String.ToCharArray for perf.
1308 2004-08-18 Dick Porter <dick@ximian.com>
1310 * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
1311 Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
1313 2004-08-13 Dick Porter <dick@ximian.com>
1315 * StreamWriter.cs: Allow FileShare.Read access to the underlying
1316 FileStream, to be compatible with MS. Fixes bug 62152.
1318 2004-07-06 Dick Porter <dick@ximian.com>
1320 * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
1321 Don't blow away the SetFileTime() error before the caller gets to
1322 see it. Part of the bug fix to 60970.
1324 2004-07-05 Dick Porter <dick@ximian.com>
1326 * CheckPermission.cs:
1330 * FileStream.cs: Give the filename when throwing
1331 FileNotFoundException. Fixes bug 61120, based on patch from
1332 Carlos Alberto Cesario <carloscesario@gmail.com>.
1334 2004-07-05 Dick Porter <dick@ximian.com>
1336 * File.cs: File.Move() should check that the destination doesn't
1337 already exist. Fixes bug 60915, patch based on one from Carlos
1338 Alberto Cesario <carloscesario@gmail.com>.
1340 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1342 * Directory.cs: implemented GetLogicalDrives.
1344 2004-06-24 Lluis Sanchez Gual <lluis@novell.com>
1346 * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
1348 2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
1351 .ctor() should block write access when created with FileAccess.Write.
1353 2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
1355 * FileStream.cs : Check buffer size before creating file.
1356 * StreamReader.cs : Check encoding!=null before creating file.
1358 MonoIO.cs : Convert DateTime to FileTime after checking
1359 file IO sharing violation (it just fixes the type of exception).
1361 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
1363 * MemoryStream.cs: added TODO for serialization
1364 * StringWriter.cs: added TODO for serialization
1366 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
1368 * TextWriter.cs: fixed CoreNewLine to return char[]
1370 2004-06-14 Dick Porter <dick@ximian.com>
1373 * File.cs: Catch PATH_NOT_FOUND errors in Exists() too. Fixes bug
1376 2004-06-09 Duncan Mak <duncan@ximian.com>
1378 * BufferedStream.cs (SetLength): Add checks and throw the
1379 appropriate Exceptions here instead.
1381 * FileStream.cs (SetLength): Revert part of my last patch, we're
1382 throwing ObjectDisposedException instead of IOException again.
1384 2004-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1386 * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
1389 2004-06-08 Duncan Mak <duncan@ximian.com>
1391 * Directory.cs (IsRootDirectory): New helper method for
1392 determining if a path is the root directory. Handles both Unix as
1394 (GetParent): Use IsRootDirectory for the check.
1396 2004-06-08 Duncan Mak <duncan@ximian.com>
1398 * File.cs: Fix line endings, took out ^Ms.
1400 * Directory.cs (GetParent): Return null if the specified path is
1403 * StreamReader.cs (StreamReader):
1404 (Initialize): Add a check that buffer_size must not be less than
1407 2004-06-07 Duncan Mak <duncan@ximian.com>
1409 * FileStream.cs (SetLength): The other exceptions have precendence
1410 over ObjectDisposedException, which is not one of the exceptions
1411 listed in the documentation). Also, instead of throwing an
1412 ObjectDisposedException, throw an IOException.
1414 2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1416 * BufferedStream.cs: fixed typo that prevented Read() from working.
1417 This went out with beta 2. Closes bug #59534.
1419 2004-05-31 Atsushi Enomoto <atsushi@ximian.com>
1421 * Directory.cs, File.cs : Fixed Exists() that raised
1422 DirectoryNotFoundException. Quick fix for bug #59354.
1424 2004-05-30 Sebastien Pouliot <sebastien@ximian.com>
1426 * BinaryReader.cs: Added missing disposed check for most methods.
1427 Reordered some exceptions to match MS implementation.
1428 * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
1429 SetLength must also reset Position and check for dispose.
1430 * FileStream.cs: Added missing check for invalid SeekOrigin. Added
1431 missing validations.
1433 2004-05-27 Dick Porter <dick@ximian.com>
1435 * FileSystemInfo.cs: Take out the error checking in Refresh(), it
1438 2004-05-27 Dick Porter <dick@ximian.com>
1440 * MonoIO.cs: Define icalls for Lock() and Unlock()
1442 * FileStream.cs: Implement Lock() and Unlock(). Also improve IO
1445 * FileSystemInfo.cs:
1447 * Directory.cs: Improve IO error reporting
1449 2004-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1451 * FileStream.cs: delay seeking to the end when FileMode.Append is
1452 specified until after buffer initialization. Fixes bug #59151.
1454 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
1456 * BufferedStream.cs: Added globalization and fixed exceptions and
1457 possible integer overflow.
1458 * FileStream.cs: Fixed possible integer overflow.
1459 * MemoryStream.cs: Fixed possible integer overflow.
1460 * StringReader.cs: Fixed possible integer overflow.
1461 * TextWriter.cs: Fixed possible integer overflow.
1463 2004-05-26 Atsushi Enomoto <atsushi@ximian.com>
1466 DirectoryInfo.cs : ToString() should return constructor arg as is.
1467 This fixes bug #58804.
1469 2004-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1471 * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
1472 no files, but the directory was found. Fixes bug #58875.
1474 2004-05-24 Duncan Mak <duncan@ximian.com>
1476 * StreamWriter.cs (Close): Remember to set the 'closed' flag.
1479 * FileInfo.cs: Reformat the whole file to use DOS line endings.
1480 (MoveTo): Return if the destination of Move is the
1481 same as the file's current location.
1483 2004-05-24 Sebastien Pouliot <sebastien@ximian.com>
1485 * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
1486 condition to allow zeroization of existing data when we shrink the
1488 * StreamReader.cs: Add checks for null encoding. Fixed possible integer
1489 overflow and ArgumentNullException in Read.
1490 * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
1491 AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
1492 * StringWriter.cs: Fixed possible integer overflow in Write. Changed
1495 2004-05-22 Duncan Mak <duncan@ximian.com>
1497 * Directory.cs: Reformat the whole file to use Unix line endings
1499 (GetFileSystemEntries): If pattern is String.Empty, always
1500 return an empty string array. Throw the ArgumentException if path
1501 is an empty string (determined using the new helper method)
1502 (IsEmptyString): Returns true on an empty string or a string with
1503 only whitespace characters.
1505 * Path.cs (GetPathRoot): Throw an ArgumentException if the path
1506 argument is String.Empty.
1508 2004-05-20 Jackson Harper <jackson@ximian.com>
1510 * DirectoryInfo.cs: Create subdirectories correctly if more then
1513 2004-05-16 Atsushi Enomoto <atsushi@ximian.com>
1515 * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
1517 2004-05-16 Atsushi Enomoto <atsushi@ximian.com>
1519 * FileInfo.cs: ToString() returns not full path but just the file name.
1521 2004-05-14 Marek Safar <marek.safar@seznam.cz>
1523 * TextWriter.cs: Removed useless [CLSCompliant (false)]
1525 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1527 * Directory.cs: use the real wildcard for file names as it is supported
1528 now in io-layer. SearhPattern is not needed now.
1530 2004-04-30 Ben Maurer <bmaurer@users.sourceforge.net>
1532 * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
1534 2004-04-29 Ben Maurer <bmaurer@users.sourceforge.net>
1536 * Path.cs: readonlyificate.
1538 2004-04-29 Ben Maurer <bmaurer@users.sourceforge.net>
1540 * FileStream.cs: constify.
1542 2004-04-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1544 * SearchPattern.cs: Call invariant String.ToLower
1546 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1548 * FileStreamAsyncResult.cs: invoke the callback if set as completed
1549 before the asynchronous stuff jumps in.
1551 2004-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1553 * FileStream.cs: only pass the async flag set to true when opening the
1554 file and AIO is supported by the underlying system. Fixes bug #56883.
1556 2004-04-12 Gert Driesen (drieseng@users.sourceforge.net)
1558 * FileSystemInfo.cs: Implemented ISerializable, corrected COM
1559 visibility of UTC properties
1561 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1563 * BufferedStream.cs: On Position change, do not reset the buffer if the
1564 new position is in the limits of the buffer. This fixes #49403.
1566 2003-04-03 Atsushi Enomoto <atsushi@ximian.com>
1568 * Path.cs : ChangeExtension() does not remove dot(.) when extension is
1571 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1573 * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
1574 classes can override to perform class specific refreshing.
1575 * FileInfo.cs: Refresh existence flag when Refresh is called.
1576 * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
1577 The method Write(char) should do nothing by default.
1579 2004-03-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1581 * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
1582 bug #51741. Patch by Nick Vaughan.
1584 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
1586 * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
1587 with a direct call to ReadData. In InitBuffer(), if buffering is
1588 disabled, create a buffer of one byte, to be used in ReadByte. This
1591 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
1593 * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
1596 2004-03-24 Lluis Sanchez Gual <lluis@ximian.com>
1598 * File.cs: In Move, throw IOException instead of ArgumentException if
1599 destination is a directory.
1600 * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
1601 ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
1603 2004-03-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1605 * StreamWriter.cs: Removed unneeded function
1607 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1609 * FileStream.cs: added support for asynchronous I/O without using the
1610 OS native libraries if available.
1612 * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
1614 * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
1615 new parameter to tell ifthe file will be used for asynch operations.
1617 * Stream.cs: BeginRead/Write do not use delegates. They just are
1618 actually synchronous.
1620 * StreamAsyncResult.cs: IAsyncResult for Stream.
1622 2004-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1624 * Directory.cs: check if the error returned in Exists is different
1625 from 'path not found' and throw the appropiate exception in that case.
1628 2004-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1630 * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
1632 2004-02-25 Jackson Harper <jackson@ximian.com>
1634 * File.cs: Report the filename when deleting a file fails. Patch
1635 by Gert Driesen. Fixes bug #54855.
1637 2004-02-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1639 * FileStream.cs: remove dangling ^Ms.
1641 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1643 * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
1644 Path.GetFullPath crash. Fixed it.
1646 * MonoIO.cs: fixed typo.
1648 2004-02-13 Jackson Harper <jackson@ximian.com>
1650 * FileStream.cs: Throw some more exceptions for invalid
1651 params. Fixes some unit test failures.
1652 * BufferedStream.cs: If the stream is closed (can't read from it
1653 or write to it) throw an ObjectDisposedException.
1655 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
1657 * StreamWriter.cs, TextWriter.cs: comply with the documented
1658 behaviour and use a decode buffer to improve performance.
1660 2004-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1662 * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
1664 2004-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1666 * Path.cs: add the trailing directory separator only for volumes.
1669 2004-01-19 Zoltan Varga <vargaz@freemail.hu>
1671 * IntPtrStream.cs: Fix build bustage.
1673 * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
1674 the stream is closed.
1676 2004-01-18 Ben Maurer <bmaurer@users.sourceforge.net>
1678 * FileStream.cs: Locking from bug #32344 removed. This is not
1679 necessary because the correct fix was actually in the console.
1680 This fixes bug #53026. Miguel de Icaza reviewed/approved this
1683 2004-01-14 Zoltan Varga <vargaz@freemail.hu>
1685 * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
1688 2004-01-10 Atsushi Enomoto <atsushi@ximian.com>
1690 * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
1691 instead of "c:" . This fixed bug #52735.
1693 2004-01-04 Nick Drochak <ndrochak@gol.com>
1695 * Path.cs: Remove defined but unused variable, and also got rid of
1696 some unreachable code. Eliminates some build warnings.
1698 2003-12-28 Ben Maurer <bmaurer@users.sourceforge.net>
1700 * BinaryWriter.cs: use one encoding buffer for writing
1701 strings rather than allocting one/string. HUGE perf
1702 boost when writing many strings.
1704 2003-12-25 Atsushi Enomoto <atsushi@ximian.com>
1706 * Path.cs : Fixed GetFullPath() (and CanonicalizePath()),
1707 HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
1709 2003-12-22 Bernie Solomon <bernard@ugsolutions.com>
1711 * FileStream.cs: (.ctor) do not set handle
1712 in object until after it is validated via
1713 GetFileType so finalizer doesn't see bad handles and
1714 initialize this.handle to InvalidHandle
1716 2003-12-19 Bernie Solomon <bernard@ugsolutions.com>
1718 * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
1721 2003-12-17 Atsushi Enomoto <atsushi@ximian.com>
1723 * Directory.cs : SetCurrentDirectory() should raise errors for
1724 some kind of arguments.
1726 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1728 * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
1731 2003-12-06 Ravindra <rkumar@novell.com>
1732 *MonoIO.cs: Added a new exception case. It is thrown
1733 when a directory creation is attempted with a name that
1734 is already used by an existing file.
1736 2003-11-28 Dick Porter <dick@ximian.com>
1738 * Path.cs: Use the char form of LastIndexOf, so that the
1739 comparison is done with the Invariant culture.
1741 2003-11-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1743 * Directory.cs: provide the path when getting the IOException.
1745 2003-11-18 John Luke <jluke@cfl.rr.com>
1748 (PathLength): fix recursion found by JonK
1750 2003-11-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753 (GetCurrentDirectory):
1754 (SetCurrentDirectory): moved here from Environment. Handle error cases.
1756 * MonoIO.cs: add path to the default error message.
1758 2003-11-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1760 * StringReader.cs: fixed ReadLine for some cases where there are mixed
1761 '\r' and '\n'. Closes bug #51020.
1763 2003-11-14 Ben Maurer <bmaurer@users.sourceforge.net>
1765 * MemoryStream.cs (.ctor): We need to check if buffer is null
1766 before we get the Length of it.
1768 2003-11-14 Miguel de Icaza <miguel@ximian.com>
1770 * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
1772 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1774 * Directory.cs: allow directory names without wildcards in the pattern.
1777 * SearchPattern.cs: made InvalidChars and WildcardChars internal.
1779 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1781 * FileStream.cs: use the argument name when throwing exception.
1785 * TextReader.cs: added [In] attribute for the array in Read.
1787 2003-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1789 * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
1791 2003-11-12 Miguel de Icaza <miguel@ximian.com>
1793 * Directory.cs: Adjust for missing PlatformID.Unix.
1795 2003-10-28 Miguel de Icaza <miguel@ximian.com>
1797 * StreamReader.cs: Add checks for disposed stream from bug report
1798 #48696 (Patrik Reali)
1800 * TextReader.cs (Read): Return the total number of bytes read,
1801 patch from Patrik Realli.
1803 2003-10-20 Miguel de Icaza <miguel@ximian.com>
1805 * FileStream.cs public FileStream (string name, FileMode mode)
1806 constructor: If we pass FileMode.Append, we can not pass
1807 FileAccess.ReadWrite. This fixes bug 44959
1809 2003-09-26 Miguel de Icaza <miguel@ximian.com>
1811 * BufferedStream.cs (Write): Use CanWrite in Write. Patch from
1812 Francisco Figueiredo Jr.
1814 2003-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1816 * BinaryReader.cs: return the correct number of bytes read when there
1817 are some bytes from peeking.
1819 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
1821 * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
1822 Added [In,Out] attributes to Read method.
1824 2003-08-05 Martin Baulig <martin@ximian.com>
1826 * StreamReader.cs (DiscardBufferedData): Do the same like on the
1827 ms runtime: just discard the buffered data, but don't modify the
1828 BaseStream.Position.
1830 2003-08-04 Martin Baulig <martin@ximian.com>
1832 * StreamReader.cs (DiscardBufferedData): Implemented.
1834 2003-07-29 Miguel de Icaza <miguel@ximian.com>
1836 * IntPtrStream.cs (Read): Use correct offset here; Change the
1837 code to use a byte* instead of an IntPtr to reduce the number of
1840 (Read): Use Marshal.Copy instead of the now
1843 (IntPtrStream): New stream implementation, it maps to a region in
1846 2003-07-23 Duncan Mak <duncan@ximian.com>
1848 * StreamReader.cs (Initialize): This method is not exposed in the
1849 API, mark as internal.
1851 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
1853 * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
1855 2003-07-16 Dick Porter <dick@ximian.com>
1857 * FileInfo.cs: Update path info when a file is moved. Patch by
1858 John Luke <jluke@cfl.rr.com>, fixes bug 44253.
1860 2003-07-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1862 * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
1864 2003-06-30 Zoltan Varga <vargaz@freemail.hu>
1866 * FileStream.cs (Dispose): Flush the buffer even if we don't own the
1868 * FileStream.cs: Add a new constructor parameter to turn off buffering.
1869 This is used by the Console.OpenStandard...() methods. Also fix
1870 argument checking in InitBuffer(), so a zero buffer size is also
1873 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
1875 * Stream.cs: use async.delegate invoke
1877 2003-06-18 Nick Drochak <ndrochak@gol.com>
1879 * FileSystemInfo.cs: Refresh cache when changeing file times.
1881 2003-06-11 Zoltan Varga <vargaz@freemail.hu>
1883 * FileStream.cs: Fix errors in previous checkins:
1884 (Write): Only take the shortcut route if the data is longer than the
1886 (Write): Flush the buffer before writing out the new data
1887 (Write): Flush the buffer after writing out a segment since otherwise
1888 we will go into an infinite loop.
1889 (FlushBuffer): Remove my last change since it was clearly wrong.
1890 (Seek): Run FlushBuffer () after the in-buffer seek optimization.
1891 (Seek): Only use the in-buffer optimization if the buffer is not
1893 (Length): Call FlushBuffer () since buffer data might change the size
1896 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1899 - removed unusefull bugfix (DirectoryNotFoundException)
1900 - Flush before seek.
1902 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1904 * FileStream.cs: Check buffer size before append/read -exceptios
1906 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1908 * FileStream.cs: Check DirectoryNotFound before FileNotFound.
1910 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1912 * FileStream.cs: Does not anymore flush while writing
1914 2003-06-02 Nick Drochak <ndrochak@gol.com>
1916 * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
1919 2003-05-27 Lluis Sanchez Gual <lluis@ximian.com>
1921 * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
1923 2003-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1925 * Path.cs: fixed bug #42631.
1927 2003-05-22 Zoltan Varga <vargaz@freemail.hu>
1929 * File.cs (Move): Allow moving of directories.
1930 Fix 'destination is a directory' test.
1932 2003-05-21 Ben Maurer <bmaurer@users.sourceforge.net>
1934 * StringWriter.cs: Fixed bug #43431: "StringWriter
1935 .ctor(CultureInfo) does not create a new StringBuilder ()"
1937 2003-05-11 Zoltan Varga <vargaz@freemail.hu>
1939 * FileStream.cs (FlushBuffer): After a flush, the buffer is
1940 advanced by buf_offset bytes, not buf_length bytes.
1942 2003-05-16 Dick Porter <dick@ximian.com>
1944 * MonoIO.cs: Implement GetTempPath
1946 2003-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1948 * DirectoryInfo.cs: fixed bug #42991.
1950 (CanonicalizePath): store the value of the trimmed input string. Make it
1951 work with paths such as "/home/xxx/.".
1953 2003-05-08 Ben Maurer <bmaurer@users.sourceforge.net>
1955 (CanonicalizePath) Fixed bug #42631, which duplicated the
1956 root part of the path under Windows.
1958 2003-05-08 Ville Palo <vi64pa@kolumbus.fi>
1960 * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc,
1961 LastWriteTimeUtc and CreationTimeUtc
1963 2003-05-07 Ben Maurer <bmaurer@users.sourceforge.net>
1965 (GetPathRoot) Added support for UNC paths.
1966 (CanonicalizePath) Added optimizations per Miguel's requests.
1968 2003-05-06 Ville Palo <vi64pa@kolumbus.fi>
1970 * BufferedStream.cs:
1971 - Removed unusefull code.
1972 - Added ObjectDisposedException to Position
1973 - Dont flush if stream is allready closed.
1974 - Flush throws also ObjectDisposedException.
1976 - GetFileSystemEtries: ArgumentNullException if pattern is null
1977 * DirectoryInfo.cs: Fixed little MoveTo () bug.
1979 - Exists: If file does not exists when instance is created the
1980 value of the Exists property does not change even if file is created
1982 - Delete: If path is a directory UnauthorizedException is thrown.
1983 - CopyTo: Now we can overwrite file if wanted.
1985 - GetFullPath: Now throws exception when path is " ".
1987 2003-05-04 Ben Maurer <bmaurer@users.sourceforge.net>
1988 * Directory.cs (GetLogicalDrives) Marked as MonoTODO
1989 because we need to implement the method on Windows.
1991 (CanonicalizePath) Added new function to get
1992 rid of . and .. in path names. Need to figure out what
1993 other functions should call this.
1994 (GetFullPath) Added call to the above function.
1996 2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1999 (.ctor): fixed parameters passed to FileNotFoundException.
2001 2003-04-25 Dietmar Maurer <dietmar@ximian.com>
2003 * BinaryReader.cs (Read): make sure the buffer is big enough (fix
2006 2003-04-24 Pedro Martinez Julia <yoros@wanadoo.es>
2008 * BufferedStream.cs: Test if it's possible to seek in a Stream
2009 before access to Position. This prevents the exception thrown when
2010 the stream is System.Net.Sockets.NetworkStream.
2012 2003-04-22 Ville Palo <vi64pa@kolumbus.fi>
2014 * Directory.cs: clean up --> performance improvment. Some exceptions
2015 are now checked in File.cs.
2016 * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
2018 2003-04-21 Ville Palo <vi64pa@kolumbus.fi>
2020 * Directory.cs: lots of fixes.
2021 - Added GetXXXtimeUtc () (v1.1) methods.
2022 - Added SetXXXtimeUtc () (v1.1) methods.
2024 2003-04-20 Igor Nosyryev <nosyryev@attbi.com>
2026 * StringReader.cs (Read): Increment nextChar by charsToRead
2027 instead of count, that will guarantee that the next time the
2028 method is called, it will return 0 on an empty string rather than
2029 throwing an exception
2031 2003-04-19 Ville Palo <vi64pa@kolumbus.fi>
2033 * BufferedStream.cs: Some fixes, mostly throwing exceptions.
2034 * MemoryStream.cs: Changed the order of exception checking
2035 * StringReader.cs: little clean up
2037 2003-04-14 Ville Palo <vi64pa@kolumbus.fi>
2039 * BinaryWriter.cs: Fixed decimal writing and lots of
2040 ObjectDisposedExceptions added.
2042 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
2044 * BinaryReader.cs: Fix to ReadDecimal() method.
2046 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
2048 * StringReader.cs: Added some ObjectDisposedExceptions.
2049 * StringWriter.cs: Added some ObjectDisposedExceptions.
2050 * BinaryReader.cs: Added some ObjectDisposedExceptions.
2052 2003-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2054 * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
2057 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2059 * FileStream.cs: fixed bug #40182 and made more unit test pass.
2061 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2063 * FileStream.cs: Added new methods Lock () and Unlock ()
2065 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2067 * StringReader.cs: Throws exceptions if constructor parameter is null.
2069 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2071 * StringWriter.cs: Now throws an exception if StringBuilder parameter
2074 2003-04-05 Miguel de Icaza <miguel@ximian.com>
2076 * TextWriter.cs: Implemented Synchronized method.
2078 * TextReader.cs: Implemented Synchronized method.
2080 2003-04-04 Miguel de Icaza <miguel@ximian.com>
2082 * FileStream.cs (Read, ReadByte, Seek): throw
2083 ObjectDisposedException if the handle has been released.
2085 (Read): Throw exceptions specified in the spec.
2087 (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
2088 instance methods of FileStream to be thread safe, so remove all
2089 the calls to lock on the object
2091 2003-03-31 Nick Drochak <ndrochak@gol.com>
2093 * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
2095 2003-03-20 Lluis Sanchez Gual <lluis@ideary.com>
2097 * FileNotFoundException.cs: fixed serialization bug.
2099 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2101 * StringWriter.cs : don't release internalString on Dispose().
2103 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2105 * StreamReader.cs: fixed bug #39280.
2107 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2109 * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
2112 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2114 * MemoryStream.cs: general fixes and reformatted. Passes all tests in
2115 the new MemoryStreamTest.
2117 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2119 * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
2120 ToArray even after closing the stream.
2122 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2125 (Move): don't use File.Move.
2126 * DirectoryInfo.cs: fixed Name property.
2130 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2132 * DirectoryInfo.cs: changed ToString to match MS behavior.
2133 * Path.cs: further fixes to GetDirectoryName to return null in the
2134 same cases that MS does.
2138 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2140 * Path.cs: fixed a couple of bugs reported in #35906.
2142 2003-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2144 * Directory.cs: fixed bugs #38939 and #38940. No need for separate
2145 unix/windows/unc shares code paths.
2147 2003-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2149 * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
2150 SetCreationTime, SetLastAccessTime and SetLastWriteTime.
2152 2003-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2155 (ToArray): return only the portion of the buffer that contains
2156 data, not the whole buffer. (note: this makes XmlDocument.Load work
2157 again with documents that have a <?xml without the 'encoding'
2158 attribute, which makes gtk-sharp generator work again).
2160 2003-02-25 Nick Drochak <ndrochak@gol.com>
2162 * File.cs (GetCreationTime): Throw proper execption when path is not
2165 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
2167 * MemoryStream.cs: make it behave sanely when the stream is
2168 incrementally expanded.
2170 2003-02-21 Dick Porter <dick@ximian.com>
2172 * FileStream.cs: Use locks around buffer manipulations. Fixes bug
2175 2003-02-18 Dick Porter <dick@ximian.com>
2177 * FileStream.cs: Make FileMode.Append work, and check for Seeking
2178 back over old data (undocumented ms behaviour, throws an exception
2179 if you try). Fixes bug 35975.
2181 2003-02-17 Dick Porter <dick@ximian.com>
2183 * FileStream.cs: Don't close the handle if the stream doesn't own
2184 it. Patch from Raymond Penners (raymond@dotsphinx.com), bug
2187 2003-02-14 Zoltan Varga <vargaz@freemail.hu>
2189 * FileStream.cs (Write): flush after writing the last segment as well.
2191 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2194 (ReadLine): fixed the case when the string ends with a '\n'.
2196 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2198 * MemoryStream.cs: create the buffer of the specified capacity.
2200 2003-01-31 Patrik Torstensson
2202 * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
2203 the same way as MS does it (performance improvement)
2205 2003-01-29 Zoltan Varga <vargaz@freemail.hu>
2207 * Directory.cs (GetFileSystemEntries): moved error handling to the
2208 correct instance of GetFileSystemEntries so all callers can enjoy it.
2210 2003-01-28 Zoltan Varga <vargaz@freemail.hu>
2212 * File.cs: add error handling to Get...Time methods.
2214 2003-01-26 Zoltan Varga <vargaz@freemail.hu>
2216 * Directory.cs: fix GetParent so it actually works.
2218 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2220 * Path.cs: fixlet to ChangeExtension for the case when the path is
2223 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2225 * BufferedStream.cs: don't try to write a 0 sized array on when
2226 flushing the stream.
2230 2003-01-18 Jonathan Pryor <jonpryor@vt.edu>
2232 * FileStream.cs: Add IsAsync property. (Documented in "C# In A Nutshell".)
2234 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2236 * MemoryStream.cs: fixed bug #36319.
2238 2002-12-16 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2240 * Directory.cs: Some fixes to SMB shares handling, and not compiling
2241 with csc, mcs compiles it correctly (mcs bug 35652)
2243 2002-12-14 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2245 * Directory.cs: Some fixes related to correct some exceptions thrown
2247 2002-12-11 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2249 * Directory.cs: Some Exceptions added, fixed GetParent(),
2250 CreateDirectory() should work with unix, native windows and
2251 windows samba shares. Converted end-lines from dos-mode to unix-mode
2253 2002-12-08 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2255 * Directory.cs: CreateDirectory works now with Absolute paths
2256 too, not only with relative ones.
2258 2002-12-07 Peter Williams <peterw@ximian.com>
2260 * Directory.cs: Don't use the uninitialized pathsumm here.
2261 Don't try and create "" if we're using an absolute path.
2263 2002-12-07 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2265 * Directory.cs: Now the creation of a new directory works recursively
2266 it will make parents as needed.
2268 2002-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2270 * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
2273 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
2275 * StreamWriter.cs: output the encoding preamble at the start of a
2278 2002-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2280 * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
2282 2002-11-06 Miguel de Icaza <miguel@ximian.com>
2284 * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
2286 2002-10-31 Dick Porter <dick@ximian.com>
2288 * FileStream.cs: Fix buffering properly this time. Also kludge
2289 around broken pipe errors, treating them as EOF instead of
2290 throwing an IO exception.
2292 * MonoIO.cs: Return the error status in a parameter, as the
2293 GetLastError() value has long since been blown away if we try and
2294 look it up in a subsequent internal call invocation.
2296 * FileSystemInfo.cs:
2299 * Directory.cs: MonoIO methods now have an error parameter
2301 2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2303 * TextReader.cs: implemented ReadBlock ().
2305 2002-10-30 Miguel de Icaza <miguel@ximian.com>
2307 * StreamWriter.cs: Ditto for Null stream.
2309 * BinaryReader.cs: Use Unmarked here too.
2311 * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
2314 2002-10-23 Dick Porter <dick@ximian.com>
2316 * FileStream.cs: Implemented CanSeek, and used it around all the
2317 calls to MonoIO.Seek. Fixed buffering in Read() so that it
2318 doesn't block forever on short reads.
2320 * MonoFileType.cs: New enum for GetFileType
2322 * MonoIO.cs: Added GetFileType
2324 2002-10-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2326 * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
2327 \n (this is what MS does).
2329 2002-10-18 Dick Porter <dick@ximian.com>
2331 * FileStream.cs: SeekOrigin.End still calculates the offset from
2332 the end of the file with positive values extending the length.
2335 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2337 * Path.cs: some cleanup. Thanks to Martin Aliger.
2339 2002-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2341 * FileStream.cs: throw an exception if trying to open a directory.
2342 Thanks to Martin Aliger.
2344 2002-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2346 * Path.cs: fixes bug #28046.
2348 2002-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2350 * StreamReader.cs: give more information when wrong parameters passed.
2352 2002-09-21 Miguel de Icaza <miguel@ximian.com>
2354 * FileStream.cs: Do not call FSync on the file.
2356 2002-09-16 Miguel de Icaza <miguel@ximian.com>
2358 * TextWriter.cs (Null): The Null field should be an instance of a
2359 TextWriter class that does nothing, so it is an instance of the
2360 NullTextWriter class.
2362 2002-09-16 Nick Drochak <ndrochak@gol.com>
2364 * MemoryStream.cs (Close): Don't throw an exception if the stream
2367 2002-09-15 Miguel de Icaza <miguel@ximian.com>
2369 * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
2370 Flush calls fsync().
2372 The API docs show no explicit mention that Flush() should even do
2373 an fsync, I am thinking that we should drop that from the
2376 2002-09-09 Miguel de Icaza <miguel@ximian.com>
2378 * StreamWriter.cs: When no encoding is provided, create an
2379 encoding without markers, this is what MS does.
2381 2002-09-06 Miguel de Icaza <miguel@ximian.com>
2383 * StreamReader.cs: Implement detection of byte marks and skipping
2384 of byte marks at the beginning of the stream.
2386 (ReadToEnd): Use buffered read instead of char-by-char
2389 Correct the default arguments for creating the StreamReader.
2391 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2393 * CheckArgument.cs: fixed check for empty string.
2394 * Path.cs: various fixes. It passes all the tests in new PathTest.
2396 2002-08-29 Duncan Mak <duncan@ximian.com>
2398 * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
2401 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2410 * TextWriter.cs: IDisposable fixes.
2412 2002-08-24 Miguel de Icaza <miguel@ximian.com>
2414 * StreamReader.cs: Removed TODOs, as the code seems to be
2417 * Path.cs (GetTempFileName): Make this routine atomic by not
2418 testing and then creating, but using the create call to ensure
2419 that we own the filename.
2421 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2423 * FileLoadException.cs: implemented ToString.
2425 * StreamWriter.cs: added Null field and implemented Write (char) and
2428 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2430 * StreamReader.cs: implemented NullStreamReader.
2432 2002-08-21 Miguel de Icaza <miguel@ximian.com>
2434 * Path.cs (GetDirectoryName): Fix for filenames with size = 1
2436 * File.cs: Removed all references that threw exceptions when the
2437 paths contains a colon, as this is a valid part of an identifier
2440 Everywhere: The String.Empty return from GetDirectoryName means
2441 that there is no directory information about the path.
2443 2002-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2445 * FileNotFoundException.cs: use Message and InnerException from base
2446 class. Changed Message and ToString ().
2448 2002-08-19 Dick Porter <dick@ximian.com>
2450 * BinaryWriter.cs: The length of a string is counted in bytes, not
2453 2002-08-18 Dick Porter <dick@ximian.com>
2455 * BinaryReader.cs: Fixed buffering
2457 2002-08-09 Nick Drochak <ndrochak@gol.com>
2459 * BinaryReader.cs: added virtual to Dispose(bool).
2461 2002-08-03 Jason Diamond <jason@injektilo.org>
2463 * StringWriter.cs: Return UnicodeEncoding for Encoding property.
2465 2002-08-03 Jason Diamond <jason@injektilo.org>
2467 * StreamWriter.cs: Use GetByteCount() to get exact length instead
2468 of GetMaxByteCount when converting chars to bytes.
2470 2002-07-31 Duncan Mak <duncan@ximian.com>
2473 (Dispose): Added and implmented.
2476 (Dispose): Fixed visibility.
2477 (Initialize): Fixed visibility, made internal.
2480 (Dispose): Fixed visibility.
2482 2002-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2485 (Create): allow file names without path.
2487 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
2489 * FileStream.cs: patch from erik@bagfors.nu to add
2490 Name property support.
2492 2002-07-20 Dick Porter <dick@ximian.com>
2494 * MonoIO.cs: Added icall to CreatePipe
2496 2002-07-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2498 * FileInfo.cs: fixes buglet #27940
2500 2002-07-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2502 * Path.cs: removed unneeded line from GetExtension.
2504 2002-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2507 (.ctor): call MonoIO.GetException with the file name.
2509 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
2511 * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
2513 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
2515 * StreamReader.cs: Revert the last Peek change and fix the ReadLine
2516 end of line detection code instead.
2518 2002-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2521 (Peek): no need to have seek capabilitites.
2523 2002-06-17 Dietmar Maurer <dietmar@ximian.com>
2525 * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
2527 * File.cs (Delete): only call Directory.Exists() if DirName != ""
2529 2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2531 * Directory.cs: fixed bug #26133 and also test if the directory exist
2532 before performing the search.
2534 2002-06-12 Nick Drochak <ndrochak@gol.com>
2536 * StringReader.cs (ReadLine): Return null when we get to end of the
2539 2002-05-22 Lawrence Pit <loz@cable.a2000.nl>
2541 * StreamWriter.cs: added ability to write null value
2543 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
2545 * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
2546 prevent endless loops.
2548 2002-05-17 Dan Lewis <dihlewis@yahoo.co.uk>
2550 * FileStream.cs: Enforce lower bound on buffer size.
2552 2002-05-16 Piers Haken <piersh@friskit.com>
2554 * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
2556 2002-05-17 Nick Drochak <ndrochak@gol.com>
2558 * StreamWriter.cs: Implement buffering. Also implemented dispose
2559 pattern as recommended by the MS docs. Must call Close() now
2560 to ensure the buffer is flushed.
2562 2002-05-15 Nick Drochak <ndrochak@gol.com>
2564 * Path.cs (GetDirectoryName): Return String.Empty if there is no
2567 * StreamReader.cs: Add some parameter checking on file names.
2569 * StreamWriter.cs: Add some parameter checking on file names.
2571 2002-05-14 Nick Drochak <ndrochak@gol.com>
2573 * File.cs: Add parameter checks to most methods. Not completely done,
2574 but all current unit tests pass.
2576 * Path.cs: Implement GetTempFileName().
2578 2002-05-10 Nick Drochak <ndrochak@gol.com>
2580 * StreamWriter.cs (Flush): Throw proper exception if internal stream
2581 has already been closed when we try to flush.
2583 2002/05/10 Nick Drochak <ndrochak@gol.com>
2585 * FileNotFoundException.cs (ToString): Don't try to use the inner
2586 exception, because it might be null. Use the message instead.
2588 2002-05-09 Nick Drochak <ndrochak@gol.com>
2590 * File.cs (Delete): Do not throw an exception if the file does not
2593 2002-05-08 Mike Gray <mikeg@mikegray.org>
2595 * File.cs: According to ECMA spec and MS docs Copy(src, dest)
2596 should not overwrite dest by default.
2598 2002-05-08 Nick Drochak <ndrochak@gol.com>
2600 * StreamWriter.cs: Add paramter check to constructors and throw
2601 exceptions where appropriate.
2603 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2605 * StreamReader.cs: return the number of chars read even if we diddn't
2606 fill the whole buffer (makes Sergey's ilasm work with mono).
2608 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
2610 * FileInfo.cs (Create): Implement missing method.
2612 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
2614 * File.cs: Implemented CreateText method, and fixed dst compares
2615 to compare against "" instead of null twice.
2617 2002-05-05 Nick Drochak <ndrochak@gol.com>
2619 * StreamReader.cs: Throw exceptions where needed. Changed Null field to
2620 use new internal class since null cannot be passed to constructor
2621 anymore. Also, fix a coule of small bugs.
2623 2002-05-03 Nick Drochak <ndrochak@gol.com>
2625 * MemoryStream.cs: Refrain from allocating array until the space is
2626 really needed. This fixes a bug in the Length property when the
2627 constructor without the byte array is used.
2629 2002-05-01 Duncan Mak <duncan@ximian.com>
2631 * DirectoryNotFoundException.cs (constructor): Added missing
2632 serialization constructor.
2634 2002-04-30 Duncan Mak <duncan@ximian.com>
2636 * FileLoadException.cs (constructors): Added missing (string,
2637 string) ctor, as well as (string, string, Exception) ctor.
2639 (Message): Added more info to the error message
2641 (ToString): Added. We'll need to add the StackTrace stuff when
2644 * FileShare.cs: Add a missing field, Inheritable.
2646 * TextReader.cs: Renamed Synchronised method to Synchronized.
2648 * TextWriter.cs: Renamed Synchronised method to Synchronized.
2649 Renamed protected member coreNewLine to CoreNewLine.
2651 2002-04-30 Sergey Chaban <serge@wildwestsoftware.com>
2653 * BinaryReader.cs: Allocate buffer before its first use.
2654 Handle end of stream properly. Methods to read native types
2655 (ReadInt* etc.) are little-endian (see Compact Framework docs).
2657 * BinaryWriter.cs: Store data in little-endian format.
2658 Use internal buffer for conversions.
2660 2002-03-31 Dick Porter <dick@ximian.com>
2662 * Directory.cs: Strip out "." and ".." from returned list
2664 * FileAttributes.cs: Get the right enum values
2666 2002-03-28 Dietmar Maurer <dietmar@ximian.com>
2668 * TextWriter.cs (write): added check for null
2670 2002-03-28 Dan Lewis <dihlewis@yahoo.co.uk>
2672 * Directory.cs: Throws DirectoryNotFoundException.
2673 * MonoIO.cs: Fixed to work around enum problem.
2675 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
2677 * StreamReader.cs: Implemented ReadLine() and ReadEnd().
2679 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
2681 * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
2682 DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
2683 wrapper and PAL classes.
2685 * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
2687 2002-03-25 Mike Kestner <mkestner@speakeasy.net>
2689 * MemoryStream.cs (Read): Fixed bug in exception throw.
2691 2002-03-24 Mike Kestner <mkestner@speakeasy.net>
2693 * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
2695 2002-03-23 Martin Baulig <martin@gnome.org>
2697 * StreamReader.cs: Always do buffered reading, use 4k blocks.
2698 (Read (char[], int, int)): Implemented.
2699 (DiscardBufferedData): Implemented.
2701 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
2703 * StreamReader.cs : Fill out, add buffering, and use encoding.
2705 2002-03-19 Martin Baulig <martin@gnome.org>
2707 * StreamWriter.cs (StreamWriter (string)): The default is to override
2708 the file, not to append to it.
2709 (StreamWriter (string path, bool append)): When appending, seek to the
2710 end of the file, otherwise truncate the file to zero length.
2711 (Dispose (bool)): Close the internalStream.
2712 (Flush): Flush the interalStream.
2713 (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
2715 2002-03-19 Dan Lewis <dihlewis@yahoo.co.uk>
2717 * FileStream.cs: Flush buffer before FileSetLength.
2719 2002-02-28 Miguel de Icaza <miguel@ximian.com>
2721 * Stream.cs (NullStream): Do not track position, this beast does
2722 nothing in practice.
2724 2002-03-15 Dan Lewis <dihlewis@yahoo.co.uk>
2726 * SearchPattern.cs: New class. Glob matching code for Directory.
2727 * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
2729 2002/03/15 Nick Drochak <ndrochak@gol.com>
2731 * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
2732 This code seemed to be copied from somewhere, and it was close,
2733 but didn't match the docs. This was the last bit needed to get
2734 NAnt to compile with our class libs.
2736 2002-03-12 Duncan Mak <duncan@ximian.com>
2738 * EndOfStreamException.cs:
2739 * FileLoadException.cs:
2740 * FileNotFoundException.cs:
2741 * PathTooLongException.cs: Changed the base classes to IOException
2742 instead of SystemException.
2744 * IOException.cs: Added missing constructors.
2746 2002-03-07 Nick Drochak <ndrochak@gol.com>
2748 * FileMode.cs: Docs don't say this should be explicitly derived from
2749 int, so just make it a normal Enum.
2751 2002-03-02 Jason Diamond <jason@injektilo.org>
2753 * StringReader.cs: Fixed off-by-one error in Peek() and Read().
2755 2002-02-12 Nick Drochak <ndrochak@gol.com>
2757 * PathTooLongException.cs: put it in the correct namespace
2758 * EndOfStreamException.cs: put it in the correct namespace
2760 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
2762 * Directory.cs: handle opendir() return NULL and absolute filenames.
2764 2002-01-31 Duncan Mak <duncan@ximian.com>
2766 * FileLoadException.cs:
2767 * FileNotFoundException: Added missing bits for serialization.
2769 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
2771 * Directory.cs: allow directories in GetFiles() mask.
2773 2002-01-23 Miguel de Icaza <miguel@ximian.com>
2775 * FileInfo.c (CopyTo, MoveTo): Implement.
2777 * FileStream.cs: Add argument checking to the constructor.
2779 * File.cs: Rewrote most of the file. Implement Copy, Open, Create,
2780 OpenText, OpenWrite, Move. Made pending methods flagged as MonoTODO.
2782 * Directory.cs (Delete): reimplement without using DirectoryInfo.
2783 (Delete): Implement the recursive version.
2784 (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
2785 (Move): Reimplement.
2786 (getNames): dead code removal.
2788 * Path.cs: define an internal DirectorySeparatorStr that we use in
2791 * Wrapper.cs: Updated to new version.
2793 * DirectoryInfo (Delete): Implement using the Directory API.
2795 * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
2796 Delete, Create, Parent, Exists, MoveTo): Implement.
2798 * Directory.cs (GetListing): implement new utility function.
2799 (GetDirectories): Implement.
2800 (GetFileSystemEntries): Implement.
2801 (GetFiles): Implement.
2803 * CheckArgument.cs (Path): Do not allow null by default.
2805 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2807 * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
2810 2002-01-20 Nick Drochak <ndrochak@gol.com>
2812 * SeekOrigin.cs: Added Serializable attribute.
2814 2002-01-19 Duncan Mak <duncan@ximian.com>
2816 * PathTooLongException.cs:
2817 * EndOfStreamException.cs: Added to CVS.
2819 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
2821 * BufferedStream.cs: Initial implemenation. The synchronous
2822 methods for both reading and writing are implemented. I'll do the
2823 asynchronous methods in a bit.
2825 Wed Jan 9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
2827 * BinaryWriter.cs: Initial implementation. And it's all there.
2829 * BinaryReader.cs: The constructor now uses the passed in encoding,
2832 Wed Jan 9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
2834 * BinaryReader.cs: Initial implementation. I think it's complete.
2836 2002-01-04 Ravi Pratap <ravi@ximian.com>
2838 * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
2839 attribute decorations.
2841 * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
2842 Path.cs, TextReader.cs, TextWriter.cs : Ditto.
2844 * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs:
2847 2001-12-11 Dick Porter <dick@ximian.com>
2849 * FileStream.cs: Use handles rather than casting file descriptors.
2850 Added Handle property.
2852 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
2854 * CheckPermission.cs: disable ModeAccess() code: it's wrong.
2855 * FileStream.cs: only trow an exception if the read failed in ReadByte().
2856 * StreamReader.cs: implement Peek and Read.
2857 * TextWriter.cs: CLSCompliant updates.
2859 2001-11-10 Sean MacIsaac <macisaac@ximian.com>
2861 * FileNotFoundException.cs: Added some constructors
2863 * Path.cs (GetFullPath): Fixed implementation
2865 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
2867 * DirectoryNotFoundException.cs: implemented.
2869 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
2871 * File.cs: fix signatures of the Open() and OpenRead() functions
2874 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
2876 * FileLoadException.cs, FileNotFoundException.cs: added.
2878 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
2880 * TextReader.cs: implemented the Read method
2882 * StreamReader.cs: impl. stubs
2884 * StreamWriter.cs: impl.
2886 * TextWriter.cs: implemented Write and WriteLine methods
2888 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
2890 * FileAccess.cs, FileMode.cs: change values to be compatible with
2893 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
2895 * IOException.cs: Implemented System.IO.Exception.
2897 2001-07-18 Michael Lambert <michaellambert@email.com>
2899 *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
2901 2001-07-19 Marcin Szczepanski <marcins@zipworld.com.au>
2903 * System.IO.MemoryStream.cs: Added. Had quite a few cases of
2904 "LAMESPEC", but the tests work against the MS implementation so
2905 the major functions are right (ie. Read/Write/Seek). Some more
2906 tests required for the various constructors and exceptions.
2908 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
2910 * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
2911 New class implemenations.
2913 * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.