1 2010-05-27 William Holmes <billholmes54@gmail.com>
3 * Directory.cs (ValidateDirectoryListing): Removing an unnecessary
4 Path.Combine call. Part of the fix for bug #580090.
6 Code is contributed under MIT/X11 license.
8 2010-06-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
10 * FileStream.cs: Include a required ctor in NET_2_1 so that it compiles.
12 2010-05-20 Marek Habersack <mhabersack@novell.com>
14 * FileStream.cs: when running on Windows and a path with Unix
15 directory separator chars is passed (including an UNC share), get
16 the canonical form of the path before attempting to retrieve its
17 directory name. Fixes bug #607502
21 2010-05-08 Marek Habersack <mhabersack@novell.com>
23 * Path.cs: vararg overload of Combine now correctly concatenates
25 The 3 and 4 argument overloads of Combine check whether the passed
26 segments are null or not.
28 2010-05-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
30 * Path.cs: prevent infinite loop when TMPDIR (or equivalent)
31 points to a non-existent directory.
33 2010-04-21 Sebastien Pouliot <sebastien@ximian.com>
35 * FileInfo.cs: Ensure elevated trust when calling Delete on
37 * FileSystemInfo.cs: Ensure elevated trust when calling [Creation
38 |LastAccess|LastWrite]Time setters
40 2010-04-16 Sebastien Pouliot <sebastien@ximian.com>
42 * Directory.cs: Ensure elevated trust when calling on
44 * DirectoryInfo.cs: Ensure elevated trust when calling a .ctor
46 * File.cs: Ensure elevated trust when calling a .ctor on
48 * FileInfo.cs: Ensure elevated trust when calling a .ctor on
50 * FileStream.cs: Ensure elevated trust when calling a .ctor on
51 Moonlight. Name property returns "[Unknown]" unless a Moonlight
52 application is executed with elevated trust.
53 * Path.cs: Ensure elevated trust when calling a GetTempPath,
54 GetTempFileName or GetFullPath on Moonlight. Add a shared
55 internal method to validate paths to reduce code duplication.
57 2010-04-15 Jb Evain <jbevain@novell.com>
59 * Directory.cs: don't fully qualify name when not it's necessary.
61 2010-03-29 Sebastien Pouliot <sebastien@ximian.com>
63 * DirectoryInfo.cs, FileInfo.cs: Moonlight needs the default ctor
64 to decorate them with [SecuritySafeCritical] for corclr
67 2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
69 * Directory.cs: a directory named ":" is legal in unix.
70 This gets rid of the annoying ":" folder when running
73 2010-03-22 Sebastien Pouliot <sebastien@ximian.com>
75 * Directory.cs, DirectoryInfo.cs: Disble new NET_4_0 API used in
76 SL4 until we have elevated trust working correctly (since they
77 are *not* decorated as [SecurityCritical])
79 2010-03-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
81 * StreamReader.cs: if the detected encoding is different from the
82 provided to the constructor, adjust the decoded buffer size if
83 needed. Fixes bug #589236.
85 2010-03-17 Sebastien Pouliot <sebastien@ximian.com>
87 * Stream.cs: CopyTo methods are part of SL4 too
89 2010-03-16 Jb Evain <jbevain@novell.com>
91 * FileStream.cs, File.cs, DirectoryInfo.cs, Directory.cs: use
92 MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
94 2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
98 * DirectoryInfo.cs: Add some of the 4.0 methods to Moonlight.
100 2010-03-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
102 * SearchOption.cs: Make public for Moonlight, this type is in SL4.
104 2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
106 * File.cs: Enable some NET_4_0 features in NET_2_1 since they are
107 part of SL4. Throw a SecurityException in Moonlight in non-debug
108 builds until we're ready for elevated trust.
110 2010-03-11 Zoltan Varga <vargaz@gmail.com>
112 * Path.cs (GetTempFileName): Fix infinite loop if the process doesn't have
113 write access to /tmp. Fixes #585017.
115 2010-02-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
117 * MemoryStream.cs: When setting Capacity, don't create a new buffer if
118 the new expected value is the same as the current one.
120 2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
123 * FileStream.cs: if flushing fails when disposing the stream, make
124 sure it is closed before throwing the exception. Fixes bug #579146.
126 2010-01-31 Zoltan Varga <vargaz@gmail.com>
128 * Directory.cs (Exists): Never throw an exception. Fixes #565152.
130 2010-01-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
132 * UnmanagedMemoryStream.cs: fix a regression from my previous patch.
134 2010-01-26 Marek Habersack <mhabersack@novell.com>
136 * SearchOption.cs: included in 2.1 build as internal to fix
139 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
141 * DirectoryInfo.cs: new overload for GetFileSystemInfos().
143 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
145 * UnmanagedMemoryStream.cs: add the SafeBuffer overloads.
147 2010-01-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
149 * StreamReader.cs: When detecting the encoding we usually check the
150 four first bytes looking for either UTF32 or UTF8 BOM, since they share
151 the first two bytes, but if we happen to have less than 4 bytes at
152 detection time, just check for Unicode and use it as the current
153 encoding - this is exactly what .Net does, and it is specially visible
157 2010-01-19 Alan McGovern <amcgovern@novell.com>
158 * BufferedStream.cs: Patch by Tom Philpot to optimise ReadByte and
159 WriteByte significantly by making them fulfill their request by
160 directly reading from the buffer.
162 2010-01-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
164 * UnmanagedMemoryStream.cs: Read: don't read bytes one-by-one, read all
167 2010-01-03 Carlos Alberto Cortez <calberto.cortez@gmail.com>
169 * MemoryStream.cs: Don't clear the bytes beyond Length when shrinking
170 it. Instead just save the related information for it and do it when
171 Length grows and touchs that dirty region. Refactor the code where
172 needed to avoid duplication as well.
175 2009-12-21 Sebastien Pouliot <sebastien@ximian.com>
177 * File.cs (ReadAllBytes): We cannot assume that a single call to
178 Read will return all the data we require.
180 2009-11-24 Marek Safar <marek.safar@gmail.com>
182 * StreamReader.cs, FileStream.cs: Use recycle buffer to avoid
183 repeated underlying buffer initialization (saves hefty 10MB
184 during corlib compilation).
186 * Path.cs (InsecureGetFullPath): Avoid CanonicalizePath in common
189 2009-11-23 Miguel de Icaza <miguel@novell.com>
191 * DirectoryInfo.cs: Added the new overloads.
193 * Directory.cs: Add EnumerateFiles and EnumerateFileSystemEntries
194 overloads. Share code.
196 Add new GetFileSystemEntries overload
198 2009-11-22 Miguel de Icaza <miguel@novell.com>
200 * Directory.cs: Added new IEnumerable methods to Directory.
202 * MonoIO.cs: Surface a high level FindFirst/FindNext API to
203 implement the various enumerable APIs.
205 2009-11-13 Marek Safar <marek.safar@gmail.com>
207 * UnmanagedMemoryAccessor.cs: Finished.
209 2009-11-13 Marek Safar <marek.safar@gmail.com>
211 * UnmanagedMemoryAccessor.cs: Finished.
213 2009-11-08 Miguel de Icaza <miguel@novell.com>
215 * FileInfo.cs: Partially implement.
217 * Stream.cs: Implement synchornized.
219 2009-11-07 Miguel de Icaza <miguel@novell.com>
221 * UnmanagedMemoryStream.cs: Move the CLS attribute to the methods
224 * Path.cs (Combine):e Fix implementation to follow docs (we need
225 to reset the path if any of the combined paths is rooted), and add a
228 * FileStream.cs (Flush/flushToDisk): Implement.
230 * Stream.cs (CopyTo): Implement.
232 2009-11-03 Miguel de Icaza <miguel@novell.com>
234 * FileStream.cs: Check the return value of MonoIO.Write and handle
235 short-writes as those can happen when a FileStream is used on top
238 Fixes bug: #531613, this should be backported to 2-4 and 2-6 after
241 2009-10-29 Sebastien Pouliot <sebastien@ximian.com>
243 * FileStream.cs: Reduce code duplication by merging FillBuffer
244 with FillBufferToStream
246 2009-10-28 Sebastien Pouliot <sebastien@ximian.com>
248 * FileStream.cs: Move code to deal with 'anonymous' filenames
249 into two methods (returning the path, fullpath or only the
250 filename). Default Moonlight to anonymous (not only for isolated
251 storage) unless the coreclr is disable (e.g. smcs)
253 2009-10-21 Miguel de Icaza <miguel@novell.com>
255 * BinaryWriter.cs, BinaryReader.cs: 4.0 signature update.
257 * File.cs (ReadLines, AppendAllLines, WriteAllLines): Add
260 * Path.cs (Combine): add the params overload.
262 2009-10-15 Sebastien Pouliot <sebastien@ximian.com>
264 * UnmanagedMemoryStream.cs: Fix some and add missing validations
266 2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
268 * StreamReader.cs: Add back UTF32 under NET_2_1 (for smcs)
270 2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
272 * Directory.cs: Don't expose SearchOption in NET_2_1
273 * DirectoryInfo.cs: Don't expose SearchOption in NET_2_1
274 * MonoIO.cs: Don't throw a DriveNotFoundException under NET_2_1 -
275 an IOExpection will be thrown (like the 1.x profile)
277 2009-09-22 Sebastien Pouliot <sebastien@ximian.com>
279 * StreamReader.cs: Don't use UTF32 under NET_2_1
281 2009-09-18 Sebastien Pouliot <sebastien@ximian.com>
283 * Directory.cs: Avoid imperative CAS checks and remove
284 AccessControl types for NET_2_1
285 * DirectoryInfo.cs: Remove AccessControl types for NET_2_1
286 * File.cs: Remove AccessControl types for NET_2_1
287 * FileInfo.cs: Remove AccessControl types for NET_2_1
288 * FileStream.cs: Remove AccessControl types for NET_2_1
289 * Path.cs: Avoid imperative CAS checks for NET_2_1
291 2009-09-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
293 * DirectoryInfo.cs: throw if FullPath is not a directory.
296 2009-09-04 Zoltan Varga <vargaz@gmail.com>
298 * UnmanagedMemoryAccessor.cs: New net 4.0 class.
300 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
302 * Path.cs: only trim the end of the file.
305 2009-05-05 Miguel de Icaza <miguel@novell.com>
307 * Contribution from David Uvalle <david.uvalle@gmail.com> that
308 implements FileInfo.Replace.
310 2009-04-25 Miguel de Icaza <miguel@novell.com>
312 * StreamReader.cs (DataAvailable): New internal function to work
313 around the fact that StreamReaders are now blocking on Peek(), and
314 that our own Console.TermInfoDriver used Peek() as a way of
315 probing if there was data on a stream before to avoid blocking. o
317 2009-04-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
319 * StreamReader.cs: if Peek() needs to block, do it.
322 2009-03-22 Marek Habersack <mhabersack@novell.com>
324 * FileStream.cs: implemented the SafeFileHandle property.
326 2009-02-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
328 * StringReader.cs: LF followed by CR is 2 lines.
330 2009-02-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
333 * MonoIOError.cs: enable ERROR_NOT_SAME_DEVICE.
335 2009-02-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
337 * StreamReader.cs: when a LF ends a decoded buffer and is not followed
338 by a CR in the next decoded buffer, we didn't flush the string.
341 2009-01-08 Christian Prochnow <cproch@seculogix.de>
343 * DriveInfo.cs: Added GetDiskFreeSpaceInternal
344 to query drive size and free space.
345 Added GetDriveTypeInternal to query type of drive.
347 2008-12-20 Miguel de Icaza <miguel@novell.com>
349 * FileStream.cs: Found while debugging webcompare, we should add
350 Obsoletes to the FileStream constructors that take IntPtrs.
352 2008-11-27 Sebastien Pouliot <sebastien@ximian.com>
354 * FileInfo.cs: Change ToString (in 2.1) not to return the full path
355 of the filename (since it's not SecurityCritical).
357 2008-11-09 William Holmes <billholmes54@gmail.com>
359 * TextReader.cs : Adding the NullTextReader as a private class to
360 the TestReader class for the Null field of the TestReader.
362 Code is contributed under MIT/X11 license.
364 2008-11-06 Jonathan Chambers <joncham@gmail.com>
366 * MonoIO.cs : Add DuplicateHandle.
368 2008-10-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
370 * Path.cs: clean the path when we're not in windows.
373 2008-10-12 Zoltan Varga <vargaz@gmail.com>
375 * BinaryReader.cs (Read7BitEncodedInt): Check for an invalid encoding.
378 2008-08-22 Sebastien Pouliot <sebastien@ximian.com>
380 * FileStream.cs, MonoIO.cs: For Silverlight 2.0 (NET_2_1) we always
381 throw IsolatedStorageException instead of FileNotFoundException and
382 DirectoryNotFoundException.
384 2008-08-21 Sebastien Pouliot <sebastien@ximian.com>
386 * FileStream.cs: Adjust exception being thrown for Silverlight 2.0.
387 * FileSystemInfo.cs: In Silverlight 2 this type does not inherit from
388 MarshalByRefObject nor does it implement ISerializable.
389 * Stream.cs: In Silverlight 2 this type does not inherit from
391 * TextReader.cs: In Silverlight 2 this type does not inherit from
393 * TextWriter.cs: In Silverlight 2 this type does not inherit from
395 * UnmanagedMemoryStream.cs: For Silverlight 2 add CLSCompliant(false)
396 to the PositionPointer property.
398 2008-08-15 Gert Driesen <drieseng@users.sourceforge.net>
400 * StreamWriter.cs: Change argument check for buffersize to require
401 positive number. Removed duplicate disposed check for AutoFlush.
402 Removed unnecessary initialization of bools.
404 2008-08-15 Gert Driesen <drieseng@users.sourceforge.net>
406 * StreamWriter.cs: Removed duplicate argument checks from .ctor taking
407 path, as these checks are already done in FileStream .ctor. Removed
408 parameter name from ArgumentException to match MS.
410 2008-07-28 Marek Safar <marek.safar@gmail.com>
412 * File.cs: Delay DateTime .cctor invocation.
414 2008-07-04 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
416 * File.cs: Fix parameter name
418 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
426 * DriveNotFoundException.cs:
427 * Directory.cs: Fix parameter names
429 2008-06-30 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
431 * BinaryReader.cs: Fix parameter names
432 * BinaryWriter.cs: Fix parameter names, fix exceptions
433 * BufferedStream.cs: Fix parameter names
434 * Directory.cs: Fix parameter names, fix exceptions, optimize == "" cases
436 * DirectoryNotFoundException.cs:
437 * FileNotFoundException.cs:
438 * FileStream.cs: Fix parameter names, fix exceptions
439 * IOException.cs: Fix parameter names
441 2008-06-21 Gert Driesen <drieseng@users.sourceforge.net>
443 * Path.cs: Fixed exception arguments to match MS. Removed obsolete
444 LAMESPEC comment. In GetPathRoot, throw ArgumentException if path
445 is whitespace-only. Throw ArgumentException in HasExtension, if path
446 contains invalid path characters.
448 2008-05-29 Robert Jordan <robertj@gmx.net>
450 * Path.cs (InsecureGetFullPath): Call CanonicalizePath for
452 * Path.cs (GetServerAndShare): New helper method.
453 * Path.cs (SameRoot, CanonicalizePath): Add UNC support.
454 Fixes #394681 and a bunch of TestGetFullPath unit test cases.
455 All changes are Win32 related.
457 2008-05-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
459 * DriveInfo.cs: Fix compiler warning
461 2008-05-07 Sebastien Pouliot <sebastien@ximian.com>
463 * CheckArgument.cs: Removed. Lots of unused code. The two methods
464 used are now inlined into Path.cs
465 * CheckPermission.cs: Removed. Lots of unused code.
466 * Path.cs: Inlined two checks.
467 [Found using Gendarme]
469 2008-04-18 Sebastien Pouliot <sebastien@ximian.com>
471 * Path.cs: Change PathSeparatorChars from private to internal since
472 it's needed for IsolatedStorage.
474 2008-04-17 Gert Driesen <drieseng@users.sourceforge.net>
476 * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
477 indicates whether the original path should only container the last
478 part of the directory. Moved logic for determining the Name and
479 Parent to Initialize method, to allow it to be re-used on
480 deserialization. Renamed argument names to fix corcompare issues.
481 Added missing argument checks.
482 * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
483 DirectoryInfo to ensure OriginalPath only contains last part of
485 * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
486 FileOptions to FileStream. Removed redundant directory check from
487 Delete and modified exceptions to more closely match MS.
488 * FileInfo.cs: Added argument check to ctor to match MS. Added missing
489 deserialization ctor. Modified argument checks in MoveTo, and removed
490 redundant checks. Added missing argument checks in CopyTo. Code
492 * FileSystemInfo.cs: Modified argument checks in CheckPath to more
494 * MonoIO.cs: Added msg that does not disclose filename for
496 * Path.cs: Use String.Length instead of comparing with String.Empty.
497 Removed exceptions argument names to match MS.
499 2008-04-16 Gert Driesen <drieseng@users.sourceforge.net>
501 * File.cs: Changed argument names and thrown exception to better match
502 .NET. Use String.Length instead of comparison with empty string.
503 * DirectoryInfo.cs: Added missing deserialization ctor.
505 2008-04-04 Dick Porter <dick@ximian.com>
507 * File.cs: Pretty up the file share exception with the path name.
509 2008-03-28 Sebastien Pouliot <sebastien@ximian.com>
511 * Directory.cs: Exception differs when deleting a directory if it
512 does not exists or if a file of the same name exists. Also don't
513 include path in exception if Delete fails.
515 2008-03-20 Marek Safar <marek.safar@gmail.com>
517 * Path.cs (Combine): Call ToString to optimize concatenation.
519 2008-03-02 Gert Driesen <drieseng@users.sourceforge.net>
521 * DriveInfo.cs: Removed debug code.
523 2008-02-15 Miguel de Icaza <miguel@novell.com>
525 * UnmanagedMemoryStream.cs: Implement few missing pieces.
527 2008-02-10 Zoltan Varga <vargaz@gmail.com>
529 * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
530 calls + creation of a string for each character read.
532 2008-02-03 Sebastien Pouliot <sebastien@ximian.com>
534 * MemoryStream.cs: Remove unused code found by Gendarme.
536 2008-01-16 Zoltan Varga <vargaz@gmail.com>
538 * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior.
541 2007-12-28 Zoltan Varga <vargaz@gmail.com>
543 * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
544 unsafe icalls. Fixes #350860.
546 2007-11-21 Atsushi Enomoto <atsushi@ximian.com>
548 * FileStream.cs : Close() does not exist in 2.0 (Stream does).
549 Move GC.SuppressFinalize() to Dispose(true).
551 2007-11-12 Juraj Skripsky <js@hotfeet.ch>
553 * Path.cs (GetRandomFileName): Return filenames containing only
554 characters from the range [a..z0..9] as MS.NET does.
556 2007-11-02 Atsushi Enomoto <atsushi@ximian.com>
558 * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
559 the maximum max char count for Decoder.GetChars() since it might
560 contain pending buffer by flush. Fixed bug #338370.
562 2007-11-01 Miguel de Icaza <miguel@novell.com>
564 * Path.cs (GetDirectoryName): The paths returned from this routine
565 should be canonical, not just a substring. In addition to fixing
566 this, it also fixes #324742.
568 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
570 * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
571 for replacement fallback. Binary serialization regression is fixed.
573 2007-09-06 Atsushi Enomoto <atsushi@ximian.com>
575 * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
576 Dispose(bool) rather than Close().
577 Stream.Dispose() is virtual in 2.0.
579 2007-08-24 Gert Driesen <drieseng@users.sourceforge.net>
581 * BinaryReader.cs: Fixed line endings.
582 * FileStream.cs: Rename name argument to path. Spaces to tabs.
584 2007-08-20 William Holmes <billholmes54@gmail.com>
586 *File.cs: Add implementation for IO.File.Replace methods.
587 *MonoIO.cs: Declared an internal call for ReplaceFile
589 Code is contributed under MIT/X11 license.
591 2007-07-31 Dick Porter <dick@ximian.com>
593 * MonoIO.cs: Fix formatting of 'access denied' exception when the
594 path info isn't known. Fixes bug 82141.
596 2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
598 * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
599 used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
602 2007-06-21 Dick Porter <dick@ximian.com>
604 * FileStream.cs: Fix FileShare test, fixing better bug 79250.
606 2007-05-28 Atsushi Enomoto <atsushi@ximian.com>
608 * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
609 * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
611 2007-05-25 Gert Driesen <drieseng@users.sourceforge.net>
613 * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
614 to read bytes as this allows us to start reading from the current
615 position. In Read, return 0 when reading beyond the end of the stream
616 and only read bytes until the end of the stream (not capacity).
617 In ReadByte, return -1 when reading beyond the end of the stream.
618 In SetLength: changed argument validation (and reported exceptions) to
619 match MS, removed duplicate access check and changed the current
620 position if length is less than position. In Write: throw
621 NotSupportedException when attempting to write beyond capacity, use
622 Marshal.WriteByte since that allows us to start writing from the
623 current position. Adjust length when position moves beyond length
624 in both Write and WriteByte. Allow position to be moved beyond
625 capacity of stream. Fixed position using Seek (=+ typo). Changed
626 CanRead to ignore current position. Allow Position to be used to move
627 beyond capacity of stream.
629 2007-05-24 Gert Driesen <drieseng@users.sourceforge.net>
631 * UnmanagedMemoryStream.cs: Changed argument names and exceptions
632 (msg, params) to match MS. Verify access argument in ctor.
634 2007-05-23 Atsushi Enomoto <atsushi@ximian.com>
636 * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
637 return buffer beyond the requested length. Fixed .ctor() for wrong
638 capacity initialization.
640 2007-05-12 Jonathan Chambers <joncham@gmail.com>
642 * FileStream.cs: Implement SafeHandle constructors.
644 2007-05-01 Dick Porter <dick@ximian.com>
647 * Stream.cs: Missed a few 2.0 methods
649 2007-04-30 Dick Porter <dick@ximian.com>
653 * DirectoryNotFoundException.cs:
664 * UnmanagedMemoryStream.cs:
667 * FileLoadException.cs:
674 * EndOfStreamException.cs:
677 * PathTooLongException.cs:
679 * FileNotFoundException.cs: 2.0 profile updates
681 2007-04-21 Alp Toker <alp@atoker.com>
683 * FileStream.cs: Respect request for buffering in all cases.
685 Gonzalo added code in r42667 that disables buffering even when it is
686 requested, in the case that ftype != MonoFileType.Disk. This was
687 killing performance for users who do Console.OpenStandardOutput(1024)
688 but were ending up with a non-buffered FileStream.
690 The new behaviour appears correct but we should watch for any
693 2007-04-05 Dick Porter <dick@ximian.com>
695 * Directory.cs: Pass combined path and pattern to
696 MonoIO.GetFileSystemEntries()
698 2007-04-03 Alp Toker <alp@atoker.com>
700 * UnmanagedMemoryStream.cs: Should not have a public Dispose().
701 This behaviour is already provided by the base class.
703 2007-04-03 Alp Toker <alp@atoker.com>
705 * Stream.cs: CreateWaitHandle() obsolete in 2.0.
707 2007-03-18 Alp Toker <alp@atoker.com>
709 * UnmanagedMemoryStream.cs:
710 * Directory.cs: Exception message typo fixes.
712 2007-03-11 Zoltan Varga <vargaz@gmail.com>
714 * UnmanagedMemoryStream.cs: Fix a warning.
716 2007-03-05 Miguel de Icaza <miguel@novell.com>
718 * Path.cs: Manually call FileStream and pass the new internal
719 FileOptions.1 flag that means "This is a temporary file, use 600
722 * FileOptions.cs: Document the new private enum value.
724 2007-02-22 Dick Porter <dick@ximian.com>
727 * MonoIO.cs: Handle ERROR_CANNOT_MAKE.
729 2007-02-19 Eyal Alaluf <eyala@mainsoft.com>
731 * DirectoryInfo.cs, Directory.cs: Use MonoNotSupported & MonoLimitation
732 attribute to tag that DirectorySecurity is not supported.
734 2007-02-19 Boris Kirzner <borisk@mainsoft.com>
736 * Path.cs: fix order of InvalidPathChars on windows.
738 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
740 * StreamReader.cs: Removed checks for non-existing directory or file,
741 since these checks are also performed in FileStream.
743 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
745 * FileStream.cs: Always resolve to absolute paths for exceptions, when not
748 2007-01-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
750 * StreamReader.cs: fix for bug #75526. We return earlier from Read () if
751 the underlying stream might block or end on the next read.
753 2007-01-22 Miguel de Icaza <miguel@novell.com>
755 * DirectoryInfo.cs: Throw a better exception (accorind go the
756 docs, UnauthorizedAccessException is thrown if the underlying
757 platform does not support it and *also* if there are no
758 permissions to access it, which is more convenient than the
759 PlatformNotSupportedException that only states that it needs Win2k
762 2006-12-23 Alp Toker <alp@atoker.com>
764 * Directory.cs: "platfor" typofix
766 2006-12-22 Sebastien Pouliot <sebastien@ximian.com>
768 * File.cs: Add stubs for Encrypt and Decrypt that throws
769 NotSupportedException just like non-NTFS file systems would with MS.
770 Remove nested #if NET_2_0.
771 * FileInfo.cs: Add stubs for Encrypt and Decrypt that throws
772 NotSupportedException just like non-NTFS file systems would with MS.
774 2006-12-22 Atsushi Enomoto <atsushi@ximian.com>
776 * Directory.cs : non NET_2_0 build fix.
778 2006-12-15 Miguel de Icaza <miguel@novell.com>
780 * FileInfo.cs: Empty implementations for Encrypt and Decrypt
782 Mon Dec 11 11:40:06 CET 2006 Paolo Molaro <lupus@ximian.com>
784 * FileStream.cs: correct exception message patch from
785 Markus Mauhart <mmauhart@chello.at>.
787 2006-11-28 Duncan Mak <duncan@novell.com>
789 * TextReader.cs (Dispose): Expose as public in NET_2_0.
791 2006-11-26 Miguel de Icaza <miguel@novell.com>
793 * DriveInfo.cs, DriveType.cs: Add a couple of classes for
796 Thanks MoMA! http://www.mono-project.com/Moma
798 2006-11-16 Miguel de Icaza <miguel@novell.com>
800 * DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
803 2006-11-13 Dick Porter <dick@ximian.com>
805 * Directory.cs: Don't follow symlinks when deleting directories.
806 Keeps bug 79733 fixed while fixing bug 79887.
808 * MonoIO.cs: ExistsSymlink() added, which checks for
809 FileAttributes.ReparsePoint.
811 2006-11-07 Dick Porter <dick@ximian.com>
813 * Directory.cs: CreateDirectory() should only throw IOException in
814 the 2.0 profile if a file already exists with the same name, not a
817 2006-11-03 Jensen Somers <jensen.somers@gmail.com>
819 * Directory.cs: CreateDirectory() should throw IOException if a
820 file or directory with the same name already exists, in the 2.0
821 profile. Fixes bug 79806.
823 2006-10-30 Joel Reed <joel.reed@ddiworld.com>
825 * DirectoryInfo.cs: Implement SearchOption.AllDirectories option.
827 2006-10-11 Dick Porter <dick@ximian.com>
829 * FileStream.cs: Cope with 2.0 FileShare.Delete values. Patch by
830 Peter Dettman <peter.dettman@iinet.net.au> fixing bug 79250.
832 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834 * FileInfo.cs: added 2.0 IsReadOnly. Patch by Joel Reed.
836 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
838 * FileInfo.cs: eol-style.
840 2006-09-19 Gert Driesen <drieseng@users.sourceforge.net>
842 * FileNotFoundException.cs: Changed message for default ctor to match
843 MS. Use internal message field of Exception to check whether Message
844 is null. On 2.0 profile, use file/assembly load failure message when
845 no message is set and a filename was specified. On 1.0 profile,
846 always use file/assembly load failure message when no message is set
847 (regardless of whether a filename was specified or not). Made some
848 cosmetic changes to ToString to have it match MS.
850 2006-09-02 Zoltan Varga <vargaz@gmail.com>
852 * BinaryReader.cs (Read): Avoid allocating memory when reading a char.
854 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
856 * StreamReader.cs: avoid ArgumentOutRangeException when the underlying
857 stream returns -1 on Read.
859 2006-08-30 Lluis Sanchez Gual <lluis@novell.com>
861 * FileInfo.cs: OpenRead should open the file using the Read share mode.
863 2006-08-21 Sebastien Pouliot <sebastien@ximian.com>
865 * Path.cs: Added internal method IsPathSubsetOf required to implement
866 correctly FileIOPermission (better located here).
868 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
870 * File.cs: (Delete) avoid creating the exception object for the 'file
873 2006-07-24 Miguel de Icaza <miguel@novell.com>
875 * FileShare.cs: Add Delete in 2.0
877 2006-07-06 Dick Porter <dick@ximian.com>
879 * Directory.cs: When creating a directory treat ERROR_FILE_EXISTS
880 (ie a file already exists with that name) the same as
881 ERROR_ALREADY_EXISTS (ie a directory already exists with that
882 name.) Keeps bug 50753 fixed when I fix the io-layer
883 CreateDirectory() behaviour.
885 2006-06-21 Atsushi Enomoto <atsushi@ximian.com>
887 * Directory.cs : implemented GetFiles() and GetDirectories() which
888 takes SearchOption (as they are used in one of ruby.net stuff).
890 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
892 * File.cs: never throw in Exists.
894 2006-05-18 Miguel de Icaza <miguel@novell.com>
896 * Directory.cs (Exists): Ignore INVALID_HANDlE, return false.
898 2006-06-03 John Luke <john.luke@gmail.com>
900 * Path.cs: fix typo in [Obsolete] message
902 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
904 * BinaryReader.cs: use BlockCopyInternal.
906 2006-05-01 Daniel Drake <dsd@gentoo.org>
908 * Directory.cs: Return false (as documented) on ERROR_ACCESS_DENIED in
909 Exists() rather than throwing an exception. Bug #78239.
911 2006-04-29 Atsushi Enomoto <atsushi@ximian.com>
913 * UnexceptionalStreamReader.cs (Read): Fix for #78218, where we
914 consumed characters from the input even when the count was not set
915 to zero, causing some characters to be missing in some
918 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
920 * Directory.cs: make sure the parent directory is not an empty string
921 when a file name with no path is provided. Fixes bug #78209. Patch by
924 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
926 * StreamReader.cs : implemented EndOfStream property.
927 * File.cs : implemented AppendAllText(), WriteAllLines(),
928 WriteAllBytes() and ReadAllLines(). Bug #77813 fixed.
930 2006-04-28 Robert Jordan <robertj@gmx.net>
932 * Path.cs (GetPathRoot): Return just the \\server\share
933 part of a UNC. Fixes #78147.
936 2006-04-26 Miguel de Icaza <miguel@novell.com>
938 * FileStream.cs: Implement the FileOptions usage by passing all
939 the information to the C layer. Remove the "isAsync" argument for
940 MonoIO.Open, and instead pass it on the FileOptions.
942 * FileOptions.cs: Make it build when including WriteThrough
944 * MonoIO.cs: Update MonoIO.Open signature to drop the async
945 argument and take FileOptions instead.
947 2006-04-21 Zoltan Varga <vargaz@gmail.com>
949 * FileStream.cs: Add new net 2.0 ctor.
951 * FileOptions.cs: New file.
953 2006-03-21 Miguel de Icaza <miguel@novell.com>
955 * Stream.cs: In 2.0 make Close call Dispose(true).
957 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
959 * FileStream.cs: Seek() should flush the buffer, if any. Fixes bug
962 2006-03-07 Carlos Alberto Cortez <calberto.cortez@gmail.com>
964 * Stream.cs: Add 2.0 members to Stream.cs (CanTimeout,
965 ReadTimeout and WriteTimeout).
967 2006-02-27 Gert Driesen <drieseng@users.sourceforge.net>
969 * File.cs: In 2.0 profile, File.Get****Time(Utc) should not throw
970 IOException if specified path does not exist. Fixes bug #77641.
972 2006-02-26 Gert Driesen <drieseng@users.sourceforge.net>
974 * FileStream.cs: To match MSFT, ignore FileShare.Inheritable on 2.0
975 profile. This fixes bug #77644. Improved usefulness of some existing
978 2006-02-22 Joerg Rosenkranz <joergr@voelcker.com>
980 * MonoIO.cs, MonoIOError.cs: Verbose exception for error 39
983 2006-02-03 Zoltan Varga <vargaz@gmail.com>
985 * Stream.cs FileStream.cs: Add new 2.0 Dispose () method and protected
986 Dispose (bool) method.
988 2006-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
990 * TextWriter.cs: Dispose () is public in 2.0.
992 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
994 * UnexceptionalStreamReader.cs: Read (char,int,int) should not
995 return -1. Thanks to Jakob Berkman.
997 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
999 * StreamReader.cs: (ReadToEnd) if Read returns -1 or 0, we're done.
1001 2006-01-18 Atsushi Enomoto <atsushi@ximian.com>
1003 * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow
1004 caused infinite loop on Windows.
1006 2006-01-18 Atsushi Enomoto <atsushi@ximian.com>
1008 * DirectoryInfo.cs : on Windows top directory is something like c:\.
1010 2006-01-17 Joshua Tauberer <tauberer@for.net>
1012 * StreamReader.cs: Avoid two totally unnecessary string creations.
1015 2006-01-13 Ben Maurer <bmaurer@andrew.cmu.edu>
1017 * TextWriter.cs: Call char[],int,int from the Write(char[]) method
1018 both for msft compat and for performance. Thanks to "Mike Glenn"
1019 <mglenn@zoominternet.net> for pointing.
1021 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
1023 * File.cs: Support for Read/WriteAllText
1025 2006-01-11 Sebastien Pouliot <sebastien@ximian.com>
1027 * Path.cs: Previous fix caused regression of bug #76191. Fixed (again)
1029 2006-01-09 Sebastien Pouliot <sebastien@ximian.com>
1031 * Path.cs: Fix c14n on Windows when the first separator after the root
1032 isn't '\'. Fix problems for XSP with 1.1.13.
1034 2006-01-07 Miguel de Icaza <miguel@novell.com>
1036 * Path.cs (GetTempFilename): Append ".tmp" to the path, some
1037 external application expect this extension.
1039 2006-01-05 Kornél Pál <kornelpal@hotmail.com>
1041 * DriveNotFoundException.cs: Added.
1042 * MonoIO.cs: Added ERROR_INVALID_DRIVE handling. Pass HResult to
1043 IOException constructors.
1044 * MonoIOError.cs: Expose ERROR_INVALID_DRIVE.
1046 2006-01-02 Sebastien Pouliot <sebastien@ximian.com>
1048 * UnexceptionalStreamReader.cs: Re-implemented the Read method to fix
1049 the new line handling when reading from the Console (bug #77108).
1051 2005-12-24 Kornél Pál <kornelpal@hotmail.com>
1053 * FileStream.cs: Set buf_start to actual initial position when creating
1054 FileStreams from handles.
1056 2005-12-23 Sebastien Pouliot <sebastien@ximian.com>
1058 * DirectoryInfo.cs: Fixed #77090 to fix /home parent to be / (and not
1061 2005-12-21 Sebastien Pouliot <sebastien@ximian.com>
1063 * Path.cs: Fixed #77058 where a Windows drive wasn't considered during
1064 path canonalization.
1066 2005-12-20 Sebastien Pouliot <sebastien@ximian.com>
1068 * Path.cs: Fixed #77007 where a Windows drive is specified with a
1071 2005-12-15 Sebastien Pouliot <sebastien@ximian.com>
1073 * DirectoryInfo.cs: Fixed #76903 where the Name property wasn't
1074 correct in some cases. Added special case for Windows drives. Reduced
1075 temporary allocations in Get* methods (removed ArrayList). Added some
1076 new 2.0 methods (partial).
1077 * MonoIO.cs: Removed InvalidPathChars icall as the return value is
1078 different from 1.x and 2.0. The values are now defined in Path.cs.
1079 * Path.cs: Fixed #76191 so that GetFullPath on a Windows drive returns
1080 the current directory (if it's on the specified drive). Fixed 2.0 API
1081 changes (e.g. static class).
1082 * SearchOption.cs: Added missing [Serializable] (2.0).
1084 2005-12-07 Zoltan Varga <vargaz@gmail.com>
1086 * Directory.cs: Fix a warning.
1088 2005-11-10 Dick Porter <dick@ximian.com>
1090 * DirectoryInfo.cs: Fix endless recursion problem with root
1091 directory on windows too. Fixes bug 76191.
1093 2005-11-06 Zoltan Varga <vargaz@freemail.hu>
1095 * Directory.cs: Add stub for net 2.0 GetFiles method.
1097 * SearchOption.cs: New file.
1099 2005-10-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1101 * StreamReader.cs: made ReadLine() less memory-hungry. Fixes bug #76399.
1103 2005-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1105 * MonoIO.cs: replace FindFirst/FindNext/FindClose with
1106 GetFileSystemEntries.
1107 * Directory.cs: simplify GetFileSystemEntries by using the new icall.
1109 2005-10-01 Ben Maurer <bmaurer@ximian.com>
1111 * BinaryReader.cs: The patch below had a nasty little bug with
1112 long strings that had non-ascii chars in it, because it was
1113 looking at the char count, not the byte count.
1115 2005-09-11 Ben Maurer <bmaurer@ximian.com>
1117 * BinaryReader.cs: An optimization for ReadString that had been
1118 approved/well tested for a while but never gotten in. Bug #52754.
1120 2005-09-05 Miguel de Icaza <miguel@novell.com>
1122 * MonoIOError.cs: expose the ERROR_DIR_NOT_EMPTY as we are
1125 * MonoIO.cs: Return a properly named error.
1127 2005-08-23 Raja R Harinath <rharinath@novell.com>
1130 * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
1132 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1134 * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
1135 expanding the buffer.
1137 2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1139 * Directory.cs: don't leak 'find' handles.
1141 2005-07-05 Dick Porter <dick@ximian.com>
1144 * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
1146 2005-07-04 Sebastien Pouliot <sebastien@ximian.com>
1148 * DirectoryInfo.cs: Fixed recursion problem with root directory
1149 introduced when fixing bug #75443.
1151 2005-07-02 Sebastien Pouliot <sebastien@ximian.com>
1153 * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
1155 * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
1156 separator. Added ComVisible for NET_2_0. Normalized line endings.
1158 2005-05-26 Miguel de Icaza <miguel@novell.com>
1160 * File.cs (ReadAllBytes): add.
1162 Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
1164 * FileStream.cs: complete fix for #74971.
1166 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1168 * FileStream.cs: make WriteByte work in all cases when no buffer is
1169 being used. Fixes bug #74971.
1171 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1173 * Directory.cs: if the pattern is just a file name and it exists, return
1174 it right away. Fixes bug #72143.
1176 2005-05-06 Ben Maurer <bmaurer@ximian.com>
1178 * File.cs (Open): If a stream is opened with Append access, you
1179 only want Write access. Fixes bug #71088.
1181 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1183 * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
1186 2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188 * Path.cs: don't trim the path in CanonicalizePath on non-windows
1189 systems. Fixes bug #53173.
1191 2005-04-09 Miguel de Icaza <miguel@novell.com>
1193 * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
1194 file if the position of the stream is not at the beginning. Fixes
1197 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200 * MonoIO.cs: remove dead code related to async IO.
1202 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
1204 * Directory.cs: Added a Demand for Read/Write when creating a new
1206 * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on
1208 * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
1209 Added an Assert for unrestricted file access to GetTempFilename as
1210 the method must create the (zero-length) file and can be called from
1211 partially trusted code. Added a Demand for unrestricted environment
1212 access to GetTempPath method.
1213 * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
1214 accepting a file handle. Added LinkDemand and InheritanceDemand for
1215 UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
1217 2005-03-16 Lluis Sanchez Gual <lluis@novell.com>
1219 * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
1220 decimals in little endian format.
1222 2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1225 * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
1227 2005-03-15 Sebastien Pouliot <sebastien@ximian.com>
1229 * FileStream.cs: Anonymize part of the path when exceptions are throw
1230 by a FileStream is used for isolated storage. Throw a DirectoryNotFound
1231 Exception for any FileMode not just CreateNew (see new unit tests).
1233 2005-03-09 Dick Porter <dick@ximian.com>
1236 * MonoIO.cs: Add a few more exception messages
1238 2005-02-11 Zoltan Varga <vargaz@freemail.hu>
1240 * CheckPermission.cs: Fix warning.
1242 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1244 * File.cs: Exists does not throw when there are invalid characters in
1246 * MonoIOError.cs: uncommented INVALID_NAME.
1248 Patch by Gert Driesen.
1250 2005-01-31 Sebastien Pouliot <sebastien@ximian.com>
1252 * FileStream.cs: Added new constructor to allow anonymous files (i.e.
1253 when Name property is "[Unknown]") for IsolatedStorage. Added
1254 SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
1255 for the NET_2_0 profile.
1257 2005-01-28 Sebastien Pouliot <sebastien@ximian.com>
1259 * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
1261 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
1263 * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
1264 (GAC) log from being disclosed unless code has ControlPolicy and
1265 ControlEvidence. Added missing HResult value. Fixed Message property
1266 to match MS results. Changed ToString to use a StringBuilder.
1268 2005-01-24 Sebastien Pouliot <sebastien@ximian.com>
1270 * Directory.cs: Added CAS security to Get|SetCurrentDirectory to
1271 complete Environment security checks.
1273 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1275 * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
1277 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1279 * File.cs: delegate to the runtime the task of checking for destination
1280 file existence in Move.
1282 2004-12-11 Ben Maurer <bmaurer@ximian.com>
1284 * BinaryReader.cs (ReadByte): Check for exceptions here.
1286 2004-12-06 Atsushi Enomoto <atsushi@ximian.com>
1288 * TextWriter.cs : create CoreNewLine in another .ctor().
1290 2004-12-05 Ben Maurer <bmaurer@ximian.com>
1292 * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
1293 not make a string out of the array every time it is called.
1295 Thanks to Atsushi for the idea.
1297 2004-12-04 Ben Maurer <bmaurer@ximian.com>
1299 * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
1301 * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
1303 2004-11-19 Dick Porter <dick@ximian.com>
1306 * MonoIO.cs: Add a proper message for sharing violation
1308 2004-11-01 Ben Maurer <bmaurer@ximian.com>
1310 * MonoIOError.cs: All of these fields just take up room in corlib,
1311 bloating things up. To make it worse, we need to malloc data at
1312 runtime about them. Since most are not used, am commenting them
1315 2004-09-19 Dick Porter <dick@ximian.com>
1317 * UnexceptionalStreamWriter.cs:
1318 * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
1319 StreamReader that catch IOException. Used by System.Console so
1320 that graphical applications dont get IO errors when their
1321 stdin/out/err vanishes (ie when they spew debug output.)
1323 2004-09-12 Ben Maurer <bmaurer@ximian.com>
1325 * BinaryReader.cs: Use ReadByte when possible. Gives a tad
1326 of perf, and fixes a bug reported on mono-patches-list
1328 2004-09-08 Miguel de Icaza <miguel@ximian.com>
1330 * File.cs: Added Gettextification, provide a better error message
1333 2004-09-08 Marek Safar <marek.safar@seznam.cz>
1336 * File.cs: Class is static for NET_2_0.
1338 2004-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1340 * MemoryStream.cs (SetLength): Use Array.Clear here
1342 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
1344 * Path.cs (Combine): Array.IndexOf is slow (because of the
1345 special cases it must handle). So, rather than doing IndexOf
1346 just check each type of seperator.
1348 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
1350 * StringReader.cs (StreamReader): remove sourceChars and disposed
1352 (Read): Copy directly from the string, rather than a char []
1353 (Dispose, CheckObjectDisposedException): the flag for being
1354 disposed is now source == null.
1356 2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1358 * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
1360 2004-08-26 Ben Maurer <bmaurer@users.sourceforge.net>
1362 * StreamWriter.cs: avoid String.ToCharArray for perf.
1364 2004-08-18 Dick Porter <dick@ximian.com>
1366 * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
1367 Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
1369 2004-08-13 Dick Porter <dick@ximian.com>
1371 * StreamWriter.cs: Allow FileShare.Read access to the underlying
1372 FileStream, to be compatible with MS. Fixes bug 62152.
1374 2004-07-06 Dick Porter <dick@ximian.com>
1376 * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
1377 Don't blow away the SetFileTime() error before the caller gets to
1378 see it. Part of the bug fix to 60970.
1380 2004-07-05 Dick Porter <dick@ximian.com>
1382 * CheckPermission.cs:
1386 * FileStream.cs: Give the filename when throwing
1387 FileNotFoundException. Fixes bug 61120, based on patch from
1388 Carlos Alberto Cesario <carloscesario@gmail.com>.
1390 2004-07-05 Dick Porter <dick@ximian.com>
1392 * File.cs: File.Move() should check that the destination doesn't
1393 already exist. Fixes bug 60915, patch based on one from Carlos
1394 Alberto Cesario <carloscesario@gmail.com>.
1396 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1398 * Directory.cs: implemented GetLogicalDrives.
1400 2004-06-24 Lluis Sanchez Gual <lluis@novell.com>
1402 * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
1404 2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
1407 .ctor() should block write access when created with FileAccess.Write.
1409 2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
1411 * FileStream.cs : Check buffer size before creating file.
1412 * StreamReader.cs : Check encoding!=null before creating file.
1414 MonoIO.cs : Convert DateTime to FileTime after checking
1415 file IO sharing violation (it just fixes the type of exception).
1417 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
1419 * MemoryStream.cs: added TODO for serialization
1420 * StringWriter.cs: added TODO for serialization
1422 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
1424 * TextWriter.cs: fixed CoreNewLine to return char[]
1426 2004-06-14 Dick Porter <dick@ximian.com>
1429 * File.cs: Catch PATH_NOT_FOUND errors in Exists() too. Fixes bug
1432 2004-06-09 Duncan Mak <duncan@ximian.com>
1434 * BufferedStream.cs (SetLength): Add checks and throw the
1435 appropriate Exceptions here instead.
1437 * FileStream.cs (SetLength): Revert part of my last patch, we're
1438 throwing ObjectDisposedException instead of IOException again.
1440 2004-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1442 * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
1445 2004-06-08 Duncan Mak <duncan@ximian.com>
1447 * Directory.cs (IsRootDirectory): New helper method for
1448 determining if a path is the root directory. Handles both Unix as
1450 (GetParent): Use IsRootDirectory for the check.
1452 2004-06-08 Duncan Mak <duncan@ximian.com>
1454 * File.cs: Fix line endings, took out ^Ms.
1456 * Directory.cs (GetParent): Return null if the specified path is
1459 * StreamReader.cs (StreamReader):
1460 (Initialize): Add a check that buffer_size must not be less than
1463 2004-06-07 Duncan Mak <duncan@ximian.com>
1465 * FileStream.cs (SetLength): The other exceptions have precendence
1466 over ObjectDisposedException, which is not one of the exceptions
1467 listed in the documentation). Also, instead of throwing an
1468 ObjectDisposedException, throw an IOException.
1470 2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1472 * BufferedStream.cs: fixed typo that prevented Read() from working.
1473 This went out with beta 2. Closes bug #59534.
1475 2004-05-31 Atsushi Enomoto <atsushi@ximian.com>
1477 * Directory.cs, File.cs : Fixed Exists() that raised
1478 DirectoryNotFoundException. Quick fix for bug #59354.
1480 2004-05-30 Sebastien Pouliot <sebastien@ximian.com>
1482 * BinaryReader.cs: Added missing disposed check for most methods.
1483 Reordered some exceptions to match MS implementation.
1484 * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
1485 SetLength must also reset Position and check for dispose.
1486 * FileStream.cs: Added missing check for invalid SeekOrigin. Added
1487 missing validations.
1489 2004-05-27 Dick Porter <dick@ximian.com>
1491 * FileSystemInfo.cs: Take out the error checking in Refresh(), it
1494 2004-05-27 Dick Porter <dick@ximian.com>
1496 * MonoIO.cs: Define icalls for Lock() and Unlock()
1498 * FileStream.cs: Implement Lock() and Unlock(). Also improve IO
1501 * FileSystemInfo.cs:
1503 * Directory.cs: Improve IO error reporting
1505 2004-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1507 * FileStream.cs: delay seeking to the end when FileMode.Append is
1508 specified until after buffer initialization. Fixes bug #59151.
1510 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
1512 * BufferedStream.cs: Added globalization and fixed exceptions and
1513 possible integer overflow.
1514 * FileStream.cs: Fixed possible integer overflow.
1515 * MemoryStream.cs: Fixed possible integer overflow.
1516 * StringReader.cs: Fixed possible integer overflow.
1517 * TextWriter.cs: Fixed possible integer overflow.
1519 2004-05-26 Atsushi Enomoto <atsushi@ximian.com>
1522 DirectoryInfo.cs : ToString() should return constructor arg as is.
1523 This fixes bug #58804.
1525 2004-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1527 * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
1528 no files, but the directory was found. Fixes bug #58875.
1530 2004-05-24 Duncan Mak <duncan@ximian.com>
1532 * StreamWriter.cs (Close): Remember to set the 'closed' flag.
1535 * FileInfo.cs: Reformat the whole file to use DOS line endings.
1536 (MoveTo): Return if the destination of Move is the
1537 same as the file's current location.
1539 2004-05-24 Sebastien Pouliot <sebastien@ximian.com>
1541 * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
1542 condition to allow zeroization of existing data when we shrink the
1544 * StreamReader.cs: Add checks for null encoding. Fixed possible integer
1545 overflow and ArgumentNullException in Read.
1546 * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
1547 AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
1548 * StringWriter.cs: Fixed possible integer overflow in Write. Changed
1551 2004-05-22 Duncan Mak <duncan@ximian.com>
1553 * Directory.cs: Reformat the whole file to use Unix line endings
1555 (GetFileSystemEntries): If pattern is String.Empty, always
1556 return an empty string array. Throw the ArgumentException if path
1557 is an empty string (determined using the new helper method)
1558 (IsEmptyString): Returns true on an empty string or a string with
1559 only whitespace characters.
1561 * Path.cs (GetPathRoot): Throw an ArgumentException if the path
1562 argument is String.Empty.
1564 2004-05-20 Jackson Harper <jackson@ximian.com>
1566 * DirectoryInfo.cs: Create subdirectories correctly if more then
1569 2004-05-16 Atsushi Enomoto <atsushi@ximian.com>
1571 * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
1573 2004-05-16 Atsushi Enomoto <atsushi@ximian.com>
1575 * FileInfo.cs: ToString() returns not full path but just the file name.
1577 2004-05-14 Marek Safar <marek.safar@seznam.cz>
1579 * TextWriter.cs: Removed useless [CLSCompliant (false)]
1581 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1583 * Directory.cs: use the real wildcard for file names as it is supported
1584 now in io-layer. SearhPattern is not needed now.
1586 2004-04-30 Ben Maurer <bmaurer@users.sourceforge.net>
1588 * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
1590 2004-04-29 Ben Maurer <bmaurer@users.sourceforge.net>
1592 * Path.cs: readonlyificate.
1594 2004-04-29 Ben Maurer <bmaurer@users.sourceforge.net>
1596 * FileStream.cs: constify.
1598 2004-04-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1600 * SearchPattern.cs: Call invariant String.ToLower
1602 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1604 * FileStreamAsyncResult.cs: invoke the callback if set as completed
1605 before the asynchronous stuff jumps in.
1607 2004-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1609 * FileStream.cs: only pass the async flag set to true when opening the
1610 file and AIO is supported by the underlying system. Fixes bug #56883.
1612 2004-04-12 Gert Driesen (drieseng@users.sourceforge.net)
1614 * FileSystemInfo.cs: Implemented ISerializable, corrected COM
1615 visibility of UTC properties
1617 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1619 * BufferedStream.cs: On Position change, do not reset the buffer if the
1620 new position is in the limits of the buffer. This fixes #49403.
1622 2003-04-03 Atsushi Enomoto <atsushi@ximian.com>
1624 * Path.cs : ChangeExtension() does not remove dot(.) when extension is
1627 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1629 * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
1630 classes can override to perform class specific refreshing.
1631 * FileInfo.cs: Refresh existence flag when Refresh is called.
1632 * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
1633 The method Write(char) should do nothing by default.
1635 2004-03-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1637 * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
1638 bug #51741. Patch by Nick Vaughan.
1640 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
1642 * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
1643 with a direct call to ReadData. In InitBuffer(), if buffering is
1644 disabled, create a buffer of one byte, to be used in ReadByte. This
1647 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
1649 * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
1652 2004-03-24 Lluis Sanchez Gual <lluis@ximian.com>
1654 * File.cs: In Move, throw IOException instead of ArgumentException if
1655 destination is a directory.
1656 * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
1657 ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
1659 2004-03-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1661 * StreamWriter.cs: Removed unneeded function
1663 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1665 * FileStream.cs: added support for asynchronous I/O without using the
1666 OS native libraries if available.
1668 * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
1670 * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
1671 new parameter to tell ifthe file will be used for asynch operations.
1673 * Stream.cs: BeginRead/Write do not use delegates. They just are
1674 actually synchronous.
1676 * StreamAsyncResult.cs: IAsyncResult for Stream.
1678 2004-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1680 * Directory.cs: check if the error returned in Exists is different
1681 from 'path not found' and throw the appropiate exception in that case.
1684 2004-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1686 * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
1688 2004-02-25 Jackson Harper <jackson@ximian.com>
1690 * File.cs: Report the filename when deleting a file fails. Patch
1691 by Gert Driesen. Fixes bug #54855.
1693 2004-02-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1695 * FileStream.cs: remove dangling ^Ms.
1697 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1699 * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
1700 Path.GetFullPath crash. Fixed it.
1702 * MonoIO.cs: fixed typo.
1704 2004-02-13 Jackson Harper <jackson@ximian.com>
1706 * FileStream.cs: Throw some more exceptions for invalid
1707 params. Fixes some unit test failures.
1708 * BufferedStream.cs: If the stream is closed (can't read from it
1709 or write to it) throw an ObjectDisposedException.
1711 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
1713 * StreamWriter.cs, TextWriter.cs: comply with the documented
1714 behaviour and use a decode buffer to improve performance.
1716 2004-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1718 * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
1720 2004-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1722 * Path.cs: add the trailing directory separator only for volumes.
1725 2004-01-19 Zoltan Varga <vargaz@freemail.hu>
1727 * IntPtrStream.cs: Fix build bustage.
1729 * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
1730 the stream is closed.
1732 2004-01-18 Ben Maurer <bmaurer@users.sourceforge.net>
1734 * FileStream.cs: Locking from bug #32344 removed. This is not
1735 necessary because the correct fix was actually in the console.
1736 This fixes bug #53026. Miguel de Icaza reviewed/approved this
1739 2004-01-14 Zoltan Varga <vargaz@freemail.hu>
1741 * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
1744 2004-01-10 Atsushi Enomoto <atsushi@ximian.com>
1746 * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
1747 instead of "c:" . This fixed bug #52735.
1749 2004-01-04 Nick Drochak <ndrochak@gol.com>
1751 * Path.cs: Remove defined but unused variable, and also got rid of
1752 some unreachable code. Eliminates some build warnings.
1754 2003-12-28 Ben Maurer <bmaurer@users.sourceforge.net>
1756 * BinaryWriter.cs: use one encoding buffer for writing
1757 strings rather than allocting one/string. HUGE perf
1758 boost when writing many strings.
1760 2003-12-25 Atsushi Enomoto <atsushi@ximian.com>
1762 * Path.cs : Fixed GetFullPath() (and CanonicalizePath()),
1763 HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
1765 2003-12-22 Bernie Solomon <bernard@ugsolutions.com>
1767 * FileStream.cs: (.ctor) do not set handle
1768 in object until after it is validated via
1769 GetFileType so finalizer doesn't see bad handles and
1770 initialize this.handle to InvalidHandle
1772 2003-12-19 Bernie Solomon <bernard@ugsolutions.com>
1774 * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
1777 2003-12-17 Atsushi Enomoto <atsushi@ximian.com>
1779 * Directory.cs : SetCurrentDirectory() should raise errors for
1780 some kind of arguments.
1782 2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1784 * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
1787 2003-12-06 Ravindra <rkumar@novell.com>
1788 *MonoIO.cs: Added a new exception case. It is thrown
1789 when a directory creation is attempted with a name that
1790 is already used by an existing file.
1792 2003-11-28 Dick Porter <dick@ximian.com>
1794 * Path.cs: Use the char form of LastIndexOf, so that the
1795 comparison is done with the Invariant culture.
1797 2003-11-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1799 * Directory.cs: provide the path when getting the IOException.
1801 2003-11-18 John Luke <jluke@cfl.rr.com>
1804 (PathLength): fix recursion found by JonK
1806 2003-11-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1809 (GetCurrentDirectory):
1810 (SetCurrentDirectory): moved here from Environment. Handle error cases.
1812 * MonoIO.cs: add path to the default error message.
1814 2003-11-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1816 * StringReader.cs: fixed ReadLine for some cases where there are mixed
1817 '\r' and '\n'. Closes bug #51020.
1819 2003-11-14 Ben Maurer <bmaurer@users.sourceforge.net>
1821 * MemoryStream.cs (.ctor): We need to check if buffer is null
1822 before we get the Length of it.
1824 2003-11-14 Miguel de Icaza <miguel@ximian.com>
1826 * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
1828 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1830 * Directory.cs: allow directory names without wildcards in the pattern.
1833 * SearchPattern.cs: made InvalidChars and WildcardChars internal.
1835 2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1837 * FileStream.cs: use the argument name when throwing exception.
1841 * TextReader.cs: added [In] attribute for the array in Read.
1843 2003-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1845 * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
1847 2003-11-12 Miguel de Icaza <miguel@ximian.com>
1849 * Directory.cs: Adjust for missing PlatformID.Unix.
1851 2003-10-28 Miguel de Icaza <miguel@ximian.com>
1853 * StreamReader.cs: Add checks for disposed stream from bug report
1854 #48696 (Patrik Reali)
1856 * TextReader.cs (Read): Return the total number of bytes read,
1857 patch from Patrik Realli.
1859 2003-10-20 Miguel de Icaza <miguel@ximian.com>
1861 * FileStream.cs public FileStream (string name, FileMode mode)
1862 constructor: If we pass FileMode.Append, we can not pass
1863 FileAccess.ReadWrite. This fixes bug 44959
1865 2003-09-26 Miguel de Icaza <miguel@ximian.com>
1867 * BufferedStream.cs (Write): Use CanWrite in Write. Patch from
1868 Francisco Figueiredo Jr.
1870 2003-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1872 * BinaryReader.cs: return the correct number of bytes read when there
1873 are some bytes from peeking.
1875 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
1877 * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
1878 Added [In,Out] attributes to Read method.
1880 2003-08-05 Martin Baulig <martin@ximian.com>
1882 * StreamReader.cs (DiscardBufferedData): Do the same like on the
1883 ms runtime: just discard the buffered data, but don't modify the
1884 BaseStream.Position.
1886 2003-08-04 Martin Baulig <martin@ximian.com>
1888 * StreamReader.cs (DiscardBufferedData): Implemented.
1890 2003-07-29 Miguel de Icaza <miguel@ximian.com>
1892 * IntPtrStream.cs (Read): Use correct offset here; Change the
1893 code to use a byte* instead of an IntPtr to reduce the number of
1896 (Read): Use Marshal.Copy instead of the now
1899 (IntPtrStream): New stream implementation, it maps to a region in
1902 2003-07-23 Duncan Mak <duncan@ximian.com>
1904 * StreamReader.cs (Initialize): This method is not exposed in the
1905 API, mark as internal.
1907 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
1909 * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
1911 2003-07-16 Dick Porter <dick@ximian.com>
1913 * FileInfo.cs: Update path info when a file is moved. Patch by
1914 John Luke <jluke@cfl.rr.com>, fixes bug 44253.
1916 2003-07-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1918 * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
1920 2003-06-30 Zoltan Varga <vargaz@freemail.hu>
1922 * FileStream.cs (Dispose): Flush the buffer even if we don't own the
1924 * FileStream.cs: Add a new constructor parameter to turn off buffering.
1925 This is used by the Console.OpenStandard...() methods. Also fix
1926 argument checking in InitBuffer(), so a zero buffer size is also
1929 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
1931 * Stream.cs: use async.delegate invoke
1933 2003-06-18 Nick Drochak <ndrochak@gol.com>
1935 * FileSystemInfo.cs: Refresh cache when changeing file times.
1937 2003-06-11 Zoltan Varga <vargaz@freemail.hu>
1939 * FileStream.cs: Fix errors in previous checkins:
1940 (Write): Only take the shortcut route if the data is longer than the
1942 (Write): Flush the buffer before writing out the new data
1943 (Write): Flush the buffer after writing out a segment since otherwise
1944 we will go into an infinite loop.
1945 (FlushBuffer): Remove my last change since it was clearly wrong.
1946 (Seek): Run FlushBuffer () after the in-buffer seek optimization.
1947 (Seek): Only use the in-buffer optimization if the buffer is not
1949 (Length): Call FlushBuffer () since buffer data might change the size
1952 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1955 - removed unusefull bugfix (DirectoryNotFoundException)
1956 - Flush before seek.
1958 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1960 * FileStream.cs: Check buffer size before append/read -exceptios
1962 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1964 * FileStream.cs: Check DirectoryNotFound before FileNotFound.
1966 2003-06-09 Ville Palo <vi64pa@kolumbus.fi>
1968 * FileStream.cs: Does not anymore flush while writing
1970 2003-06-02 Nick Drochak <ndrochak@gol.com>
1972 * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
1975 2003-05-27 Lluis Sanchez Gual <lluis@ximian.com>
1977 * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
1979 2003-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1981 * Path.cs: fixed bug #42631.
1983 2003-05-22 Zoltan Varga <vargaz@freemail.hu>
1985 * File.cs (Move): Allow moving of directories.
1986 Fix 'destination is a directory' test.
1988 2003-05-21 Ben Maurer <bmaurer@users.sourceforge.net>
1990 * StringWriter.cs: Fixed bug #43431: "StringWriter
1991 .ctor(CultureInfo) does not create a new StringBuilder ()"
1993 2003-05-11 Zoltan Varga <vargaz@freemail.hu>
1995 * FileStream.cs (FlushBuffer): After a flush, the buffer is
1996 advanced by buf_offset bytes, not buf_length bytes.
1998 2003-05-16 Dick Porter <dick@ximian.com>
2000 * MonoIO.cs: Implement GetTempPath
2002 2003-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2004 * DirectoryInfo.cs: fixed bug #42991.
2006 (CanonicalizePath): store the value of the trimmed input string. Make it
2007 work with paths such as "/home/xxx/.".
2009 2003-05-08 Ben Maurer <bmaurer@users.sourceforge.net>
2011 (CanonicalizePath) Fixed bug #42631, which duplicated the
2012 root part of the path under Windows.
2014 2003-05-08 Ville Palo <vi64pa@kolumbus.fi>
2016 * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc,
2017 LastWriteTimeUtc and CreationTimeUtc
2019 2003-05-07 Ben Maurer <bmaurer@users.sourceforge.net>
2021 (GetPathRoot) Added support for UNC paths.
2022 (CanonicalizePath) Added optimizations per Miguel's requests.
2024 2003-05-06 Ville Palo <vi64pa@kolumbus.fi>
2026 * BufferedStream.cs:
2027 - Removed unusefull code.
2028 - Added ObjectDisposedException to Position
2029 - Dont flush if stream is allready closed.
2030 - Flush throws also ObjectDisposedException.
2032 - GetFileSystemEtries: ArgumentNullException if pattern is null
2033 * DirectoryInfo.cs: Fixed little MoveTo () bug.
2035 - Exists: If file does not exists when instance is created the
2036 value of the Exists property does not change even if file is created
2038 - Delete: If path is a directory UnauthorizedException is thrown.
2039 - CopyTo: Now we can overwrite file if wanted.
2041 - GetFullPath: Now throws exception when path is " ".
2043 2003-05-04 Ben Maurer <bmaurer@users.sourceforge.net>
2044 * Directory.cs (GetLogicalDrives) Marked as MonoTODO
2045 because we need to implement the method on Windows.
2047 (CanonicalizePath) Added new function to get
2048 rid of . and .. in path names. Need to figure out what
2049 other functions should call this.
2050 (GetFullPath) Added call to the above function.
2052 2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2055 (.ctor): fixed parameters passed to FileNotFoundException.
2057 2003-04-25 Dietmar Maurer <dietmar@ximian.com>
2059 * BinaryReader.cs (Read): make sure the buffer is big enough (fix
2062 2003-04-24 Pedro Martinez Julia <yoros@wanadoo.es>
2064 * BufferedStream.cs: Test if it's possible to seek in a Stream
2065 before access to Position. This prevents the exception thrown when
2066 the stream is System.Net.Sockets.NetworkStream.
2068 2003-04-22 Ville Palo <vi64pa@kolumbus.fi>
2070 * Directory.cs: clean up --> performance improvment. Some exceptions
2071 are now checked in File.cs.
2072 * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
2074 2003-04-21 Ville Palo <vi64pa@kolumbus.fi>
2076 * Directory.cs: lots of fixes.
2077 - Added GetXXXtimeUtc () (v1.1) methods.
2078 - Added SetXXXtimeUtc () (v1.1) methods.
2080 2003-04-20 Igor Nosyryev <nosyryev@attbi.com>
2082 * StringReader.cs (Read): Increment nextChar by charsToRead
2083 instead of count, that will guarantee that the next time the
2084 method is called, it will return 0 on an empty string rather than
2085 throwing an exception
2087 2003-04-19 Ville Palo <vi64pa@kolumbus.fi>
2089 * BufferedStream.cs: Some fixes, mostly throwing exceptions.
2090 * MemoryStream.cs: Changed the order of exception checking
2091 * StringReader.cs: little clean up
2093 2003-04-14 Ville Palo <vi64pa@kolumbus.fi>
2095 * BinaryWriter.cs: Fixed decimal writing and lots of
2096 ObjectDisposedExceptions added.
2098 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
2100 * BinaryReader.cs: Fix to ReadDecimal() method.
2102 2003-04-13 Ville Palo <vi64pa@kolumbus.fi>
2104 * StringReader.cs: Added some ObjectDisposedExceptions.
2105 * StringWriter.cs: Added some ObjectDisposedExceptions.
2106 * BinaryReader.cs: Added some ObjectDisposedExceptions.
2108 2003-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2110 * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
2113 2003-04-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2115 * FileStream.cs: fixed bug #40182 and made more unit test pass.
2117 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2119 * FileStream.cs: Added new methods Lock () and Unlock ()
2121 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2123 * StringReader.cs: Throws exceptions if constructor parameter is null.
2125 2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
2127 * StringWriter.cs: Now throws an exception if StringBuilder parameter
2130 2003-04-05 Miguel de Icaza <miguel@ximian.com>
2132 * TextWriter.cs: Implemented Synchronized method.
2134 * TextReader.cs: Implemented Synchronized method.
2136 2003-04-04 Miguel de Icaza <miguel@ximian.com>
2138 * FileStream.cs (Read, ReadByte, Seek): throw
2139 ObjectDisposedException if the handle has been released.
2141 (Read): Throw exceptions specified in the spec.
2143 (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
2144 instance methods of FileStream to be thread safe, so remove all
2145 the calls to lock on the object
2147 2003-03-31 Nick Drochak <ndrochak@gol.com>
2149 * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
2151 2003-03-20 Lluis Sanchez Gual <lluis@ideary.com>
2153 * FileNotFoundException.cs: fixed serialization bug.
2155 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2157 * StringWriter.cs : don't release internalString on Dispose().
2159 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2161 * StreamReader.cs: fixed bug #39280.
2163 2003-03-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2165 * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
2168 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2170 * MemoryStream.cs: general fixes and reformatted. Passes all tests in
2171 the new MemoryStreamTest.
2173 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2175 * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
2176 ToArray even after closing the stream.
2178 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2181 (Move): don't use File.Move.
2182 * DirectoryInfo.cs: fixed Name property.
2186 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2188 * DirectoryInfo.cs: changed ToString to match MS behavior.
2189 * Path.cs: further fixes to GetDirectoryName to return null in the
2190 same cases that MS does.
2194 2003-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2196 * Path.cs: fixed a couple of bugs reported in #35906.
2198 2003-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2200 * Directory.cs: fixed bugs #38939 and #38940. No need for separate
2201 unix/windows/unc shares code paths.
2203 2003-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2205 * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
2206 SetCreationTime, SetLastAccessTime and SetLastWriteTime.
2208 2003-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2211 (ToArray): return only the portion of the buffer that contains
2212 data, not the whole buffer. (note: this makes XmlDocument.Load work
2213 again with documents that have a <?xml without the 'encoding'
2214 attribute, which makes gtk-sharp generator work again).
2216 2003-02-25 Nick Drochak <ndrochak@gol.com>
2218 * File.cs (GetCreationTime): Throw proper execption when path is not
2221 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
2223 * MemoryStream.cs: make it behave sanely when the stream is
2224 incrementally expanded.
2226 2003-02-21 Dick Porter <dick@ximian.com>
2228 * FileStream.cs: Use locks around buffer manipulations. Fixes bug
2231 2003-02-18 Dick Porter <dick@ximian.com>
2233 * FileStream.cs: Make FileMode.Append work, and check for Seeking
2234 back over old data (undocumented ms behaviour, throws an exception
2235 if you try). Fixes bug 35975.
2237 2003-02-17 Dick Porter <dick@ximian.com>
2239 * FileStream.cs: Don't close the handle if the stream doesn't own
2240 it. Patch from Raymond Penners (raymond@dotsphinx.com), bug
2243 2003-02-14 Zoltan Varga <vargaz@freemail.hu>
2245 * FileStream.cs (Write): flush after writing the last segment as well.
2247 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2250 (ReadLine): fixed the case when the string ends with a '\n'.
2252 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2254 * MemoryStream.cs: create the buffer of the specified capacity.
2256 2003-01-31 Patrik Torstensson
2258 * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
2259 the same way as MS does it (performance improvement)
2261 2003-01-29 Zoltan Varga <vargaz@freemail.hu>
2263 * Directory.cs (GetFileSystemEntries): moved error handling to the
2264 correct instance of GetFileSystemEntries so all callers can enjoy it.
2266 2003-01-28 Zoltan Varga <vargaz@freemail.hu>
2268 * File.cs: add error handling to Get...Time methods.
2270 2003-01-26 Zoltan Varga <vargaz@freemail.hu>
2272 * Directory.cs: fix GetParent so it actually works.
2274 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2276 * Path.cs: fixlet to ChangeExtension for the case when the path is
2279 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2281 * BufferedStream.cs: don't try to write a 0 sized array on when
2282 flushing the stream.
2286 2003-01-18 Jonathan Pryor <jonpryor@vt.edu>
2288 * FileStream.cs: Add IsAsync property. (Documented in "C# In A Nutshell".)
2290 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2292 * MemoryStream.cs: fixed bug #36319.
2294 2002-12-16 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2296 * Directory.cs: Some fixes to SMB shares handling, and not compiling
2297 with csc, mcs compiles it correctly (mcs bug 35652)
2299 2002-12-14 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2301 * Directory.cs: Some fixes related to correct some exceptions thrown
2303 2002-12-11 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2305 * Directory.cs: Some Exceptions added, fixed GetParent(),
2306 CreateDirectory() should work with unix, native windows and
2307 windows samba shares. Converted end-lines from dos-mode to unix-mode
2309 2002-12-08 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2311 * Directory.cs: CreateDirectory works now with Absolute paths
2312 too, not only with relative ones.
2314 2002-12-07 Peter Williams <peterw@ximian.com>
2316 * Directory.cs: Don't use the uninitialized pathsumm here.
2317 Don't try and create "" if we're using an absolute path.
2319 2002-12-07 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2321 * Directory.cs: Now the creation of a new directory works recursively
2322 it will make parents as needed.
2324 2002-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2326 * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
2329 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
2331 * StreamWriter.cs: output the encoding preamble at the start of a
2334 2002-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2336 * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
2338 2002-11-06 Miguel de Icaza <miguel@ximian.com>
2340 * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
2342 2002-10-31 Dick Porter <dick@ximian.com>
2344 * FileStream.cs: Fix buffering properly this time. Also kludge
2345 around broken pipe errors, treating them as EOF instead of
2346 throwing an IO exception.
2348 * MonoIO.cs: Return the error status in a parameter, as the
2349 GetLastError() value has long since been blown away if we try and
2350 look it up in a subsequent internal call invocation.
2352 * FileSystemInfo.cs:
2355 * Directory.cs: MonoIO methods now have an error parameter
2357 2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2359 * TextReader.cs: implemented ReadBlock ().
2361 2002-10-30 Miguel de Icaza <miguel@ximian.com>
2363 * StreamWriter.cs: Ditto for Null stream.
2365 * BinaryReader.cs: Use Unmarked here too.
2367 * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
2370 2002-10-23 Dick Porter <dick@ximian.com>
2372 * FileStream.cs: Implemented CanSeek, and used it around all the
2373 calls to MonoIO.Seek. Fixed buffering in Read() so that it
2374 doesn't block forever on short reads.
2376 * MonoFileType.cs: New enum for GetFileType
2378 * MonoIO.cs: Added GetFileType
2380 2002-10-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2382 * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
2383 \n (this is what MS does).
2385 2002-10-18 Dick Porter <dick@ximian.com>
2387 * FileStream.cs: SeekOrigin.End still calculates the offset from
2388 the end of the file with positive values extending the length.
2391 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2393 * Path.cs: some cleanup. Thanks to Martin Aliger.
2395 2002-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2397 * FileStream.cs: throw an exception if trying to open a directory.
2398 Thanks to Martin Aliger.
2400 2002-10-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2402 * Path.cs: fixes bug #28046.
2404 2002-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2406 * StreamReader.cs: give more information when wrong parameters passed.
2408 2002-09-21 Miguel de Icaza <miguel@ximian.com>
2410 * FileStream.cs: Do not call FSync on the file.
2412 2002-09-16 Miguel de Icaza <miguel@ximian.com>
2414 * TextWriter.cs (Null): The Null field should be an instance of a
2415 TextWriter class that does nothing, so it is an instance of the
2416 NullTextWriter class.
2418 2002-09-16 Nick Drochak <ndrochak@gol.com>
2420 * MemoryStream.cs (Close): Don't throw an exception if the stream
2423 2002-09-15 Miguel de Icaza <miguel@ximian.com>
2425 * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
2426 Flush calls fsync().
2428 The API docs show no explicit mention that Flush() should even do
2429 an fsync, I am thinking that we should drop that from the
2432 2002-09-09 Miguel de Icaza <miguel@ximian.com>
2434 * StreamWriter.cs: When no encoding is provided, create an
2435 encoding without markers, this is what MS does.
2437 2002-09-06 Miguel de Icaza <miguel@ximian.com>
2439 * StreamReader.cs: Implement detection of byte marks and skipping
2440 of byte marks at the beginning of the stream.
2442 (ReadToEnd): Use buffered read instead of char-by-char
2445 Correct the default arguments for creating the StreamReader.
2447 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2449 * CheckArgument.cs: fixed check for empty string.
2450 * Path.cs: various fixes. It passes all the tests in new PathTest.
2452 2002-08-29 Duncan Mak <duncan@ximian.com>
2454 * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
2457 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2466 * TextWriter.cs: IDisposable fixes.
2468 2002-08-24 Miguel de Icaza <miguel@ximian.com>
2470 * StreamReader.cs: Removed TODOs, as the code seems to be
2473 * Path.cs (GetTempFileName): Make this routine atomic by not
2474 testing and then creating, but using the create call to ensure
2475 that we own the filename.
2477 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2479 * FileLoadException.cs: implemented ToString.
2481 * StreamWriter.cs: added Null field and implemented Write (char) and
2484 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2486 * StreamReader.cs: implemented NullStreamReader.
2488 2002-08-21 Miguel de Icaza <miguel@ximian.com>
2490 * Path.cs (GetDirectoryName): Fix for filenames with size = 1
2492 * File.cs: Removed all references that threw exceptions when the
2493 paths contains a colon, as this is a valid part of an identifier
2496 Everywhere: The String.Empty return from GetDirectoryName means
2497 that there is no directory information about the path.
2499 2002-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2501 * FileNotFoundException.cs: use Message and InnerException from base
2502 class. Changed Message and ToString ().
2504 2002-08-19 Dick Porter <dick@ximian.com>
2506 * BinaryWriter.cs: The length of a string is counted in bytes, not
2509 2002-08-18 Dick Porter <dick@ximian.com>
2511 * BinaryReader.cs: Fixed buffering
2513 2002-08-09 Nick Drochak <ndrochak@gol.com>
2515 * BinaryReader.cs: added virtual to Dispose(bool).
2517 2002-08-03 Jason Diamond <jason@injektilo.org>
2519 * StringWriter.cs: Return UnicodeEncoding for Encoding property.
2521 2002-08-03 Jason Diamond <jason@injektilo.org>
2523 * StreamWriter.cs: Use GetByteCount() to get exact length instead
2524 of GetMaxByteCount when converting chars to bytes.
2526 2002-07-31 Duncan Mak <duncan@ximian.com>
2529 (Dispose): Added and implmented.
2532 (Dispose): Fixed visibility.
2533 (Initialize): Fixed visibility, made internal.
2536 (Dispose): Fixed visibility.
2538 2002-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2541 (Create): allow file names without path.
2543 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
2545 * FileStream.cs: patch from erik@bagfors.nu to add
2546 Name property support.
2548 2002-07-20 Dick Porter <dick@ximian.com>
2550 * MonoIO.cs: Added icall to CreatePipe
2552 2002-07-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2554 * FileInfo.cs: fixes buglet #27940
2556 2002-07-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2558 * Path.cs: removed unneeded line from GetExtension.
2560 2002-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2563 (.ctor): call MonoIO.GetException with the file name.
2565 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
2567 * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
2569 2002-07-02 Mike Kestner <mkestner@speakeasy.net>
2571 * StreamReader.cs: Revert the last Peek change and fix the ReadLine
2572 end of line detection code instead.
2574 2002-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2577 (Peek): no need to have seek capabilitites.
2579 2002-06-17 Dietmar Maurer <dietmar@ximian.com>
2581 * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
2583 * File.cs (Delete): only call Directory.Exists() if DirName != ""
2585 2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2587 * Directory.cs: fixed bug #26133 and also test if the directory exist
2588 before performing the search.
2590 2002-06-12 Nick Drochak <ndrochak@gol.com>
2592 * StringReader.cs (ReadLine): Return null when we get to end of the
2595 2002-05-22 Lawrence Pit <loz@cable.a2000.nl>
2597 * StreamWriter.cs: added ability to write null value
2599 2002-05-19 Lawrence Pit <loz@cable.a2000.nl>
2601 * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
2602 prevent endless loops.
2604 2002-05-17 Dan Lewis <dihlewis@yahoo.co.uk>
2606 * FileStream.cs: Enforce lower bound on buffer size.
2608 2002-05-16 Piers Haken <piersh@friskit.com>
2610 * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
2612 2002-05-17 Nick Drochak <ndrochak@gol.com>
2614 * StreamWriter.cs: Implement buffering. Also implemented dispose
2615 pattern as recommended by the MS docs. Must call Close() now
2616 to ensure the buffer is flushed.
2618 2002-05-15 Nick Drochak <ndrochak@gol.com>
2620 * Path.cs (GetDirectoryName): Return String.Empty if there is no
2623 * StreamReader.cs: Add some parameter checking on file names.
2625 * StreamWriter.cs: Add some parameter checking on file names.
2627 2002-05-14 Nick Drochak <ndrochak@gol.com>
2629 * File.cs: Add parameter checks to most methods. Not completely done,
2630 but all current unit tests pass.
2632 * Path.cs: Implement GetTempFileName().
2634 2002-05-10 Nick Drochak <ndrochak@gol.com>
2636 * StreamWriter.cs (Flush): Throw proper exception if internal stream
2637 has already been closed when we try to flush.
2639 2002/05/10 Nick Drochak <ndrochak@gol.com>
2641 * FileNotFoundException.cs (ToString): Don't try to use the inner
2642 exception, because it might be null. Use the message instead.
2644 2002-05-09 Nick Drochak <ndrochak@gol.com>
2646 * File.cs (Delete): Do not throw an exception if the file does not
2649 2002-05-08 Mike Gray <mikeg@mikegray.org>
2651 * File.cs: According to ECMA spec and MS docs Copy(src, dest)
2652 should not overwrite dest by default.
2654 2002-05-08 Nick Drochak <ndrochak@gol.com>
2656 * StreamWriter.cs: Add paramter check to constructors and throw
2657 exceptions where appropriate.
2659 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2661 * StreamReader.cs: return the number of chars read even if we diddn't
2662 fill the whole buffer (makes Sergey's ilasm work with mono).
2664 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
2666 * FileInfo.cs (Create): Implement missing method.
2668 2002-05-07 Mike Gray <mikeg_us@hotmail.com>
2670 * File.cs: Implemented CreateText method, and fixed dst compares
2671 to compare against "" instead of null twice.
2673 2002-05-05 Nick Drochak <ndrochak@gol.com>
2675 * StreamReader.cs: Throw exceptions where needed. Changed Null field to
2676 use new internal class since null cannot be passed to constructor
2677 anymore. Also, fix a coule of small bugs.
2679 2002-05-03 Nick Drochak <ndrochak@gol.com>
2681 * MemoryStream.cs: Refrain from allocating array until the space is
2682 really needed. This fixes a bug in the Length property when the
2683 constructor without the byte array is used.
2685 2002-05-01 Duncan Mak <duncan@ximian.com>
2687 * DirectoryNotFoundException.cs (constructor): Added missing
2688 serialization constructor.
2690 2002-04-30 Duncan Mak <duncan@ximian.com>
2692 * FileLoadException.cs (constructors): Added missing (string,
2693 string) ctor, as well as (string, string, Exception) ctor.
2695 (Message): Added more info to the error message
2697 (ToString): Added. We'll need to add the StackTrace stuff when
2700 * FileShare.cs: Add a missing field, Inheritable.
2702 * TextReader.cs: Renamed Synchronised method to Synchronized.
2704 * TextWriter.cs: Renamed Synchronised method to Synchronized.
2705 Renamed protected member coreNewLine to CoreNewLine.
2707 2002-04-30 Sergey Chaban <serge@wildwestsoftware.com>
2709 * BinaryReader.cs: Allocate buffer before its first use.
2710 Handle end of stream properly. Methods to read native types
2711 (ReadInt* etc.) are little-endian (see Compact Framework docs).
2713 * BinaryWriter.cs: Store data in little-endian format.
2714 Use internal buffer for conversions.
2716 2002-03-31 Dick Porter <dick@ximian.com>
2718 * Directory.cs: Strip out "." and ".." from returned list
2720 * FileAttributes.cs: Get the right enum values
2722 2002-03-28 Dietmar Maurer <dietmar@ximian.com>
2724 * TextWriter.cs (write): added check for null
2726 2002-03-28 Dan Lewis <dihlewis@yahoo.co.uk>
2728 * Directory.cs: Throws DirectoryNotFoundException.
2729 * MonoIO.cs: Fixed to work around enum problem.
2731 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
2733 * StreamReader.cs: Implemented ReadLine() and ReadEnd().
2735 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
2737 * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
2738 DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
2739 wrapper and PAL classes.
2741 * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
2743 2002-03-25 Mike Kestner <mkestner@speakeasy.net>
2745 * MemoryStream.cs (Read): Fixed bug in exception throw.
2747 2002-03-24 Mike Kestner <mkestner@speakeasy.net>
2749 * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
2751 2002-03-23 Martin Baulig <martin@gnome.org>
2753 * StreamReader.cs: Always do buffered reading, use 4k blocks.
2754 (Read (char[], int, int)): Implemented.
2755 (DiscardBufferedData): Implemented.
2757 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
2759 * StreamReader.cs : Fill out, add buffering, and use encoding.
2761 2002-03-19 Martin Baulig <martin@gnome.org>
2763 * StreamWriter.cs (StreamWriter (string)): The default is to override
2764 the file, not to append to it.
2765 (StreamWriter (string path, bool append)): When appending, seek to the
2766 end of the file, otherwise truncate the file to zero length.
2767 (Dispose (bool)): Close the internalStream.
2768 (Flush): Flush the interalStream.
2769 (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
2771 2002-03-19 Dan Lewis <dihlewis@yahoo.co.uk>
2773 * FileStream.cs: Flush buffer before FileSetLength.
2775 2002-02-28 Miguel de Icaza <miguel@ximian.com>
2777 * Stream.cs (NullStream): Do not track position, this beast does
2778 nothing in practice.
2780 2002-03-15 Dan Lewis <dihlewis@yahoo.co.uk>
2782 * SearchPattern.cs: New class. Glob matching code for Directory.
2783 * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
2785 2002/03/15 Nick Drochak <ndrochak@gol.com>
2787 * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
2788 This code seemed to be copied from somewhere, and it was close,
2789 but didn't match the docs. This was the last bit needed to get
2790 NAnt to compile with our class libs.
2792 2002-03-12 Duncan Mak <duncan@ximian.com>
2794 * EndOfStreamException.cs:
2795 * FileLoadException.cs:
2796 * FileNotFoundException.cs:
2797 * PathTooLongException.cs: Changed the base classes to IOException
2798 instead of SystemException.
2800 * IOException.cs: Added missing constructors.
2802 2002-03-07 Nick Drochak <ndrochak@gol.com>
2804 * FileMode.cs: Docs don't say this should be explicitly derived from
2805 int, so just make it a normal Enum.
2807 2002-03-02 Jason Diamond <jason@injektilo.org>
2809 * StringReader.cs: Fixed off-by-one error in Peek() and Read().
2811 2002-02-12 Nick Drochak <ndrochak@gol.com>
2813 * PathTooLongException.cs: put it in the correct namespace
2814 * EndOfStreamException.cs: put it in the correct namespace
2816 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
2818 * Directory.cs: handle opendir() return NULL and absolute filenames.
2820 2002-01-31 Duncan Mak <duncan@ximian.com>
2822 * FileLoadException.cs:
2823 * FileNotFoundException: Added missing bits for serialization.
2825 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
2827 * Directory.cs: allow directories in GetFiles() mask.
2829 2002-01-23 Miguel de Icaza <miguel@ximian.com>
2831 * FileInfo.c (CopyTo, MoveTo): Implement.
2833 * FileStream.cs: Add argument checking to the constructor.
2835 * File.cs: Rewrote most of the file. Implement Copy, Open, Create,
2836 OpenText, OpenWrite, Move. Made pending methods flagged as MonoTODO.
2838 * Directory.cs (Delete): reimplement without using DirectoryInfo.
2839 (Delete): Implement the recursive version.
2840 (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
2841 (Move): Reimplement.
2842 (getNames): dead code removal.
2844 * Path.cs: define an internal DirectorySeparatorStr that we use in
2847 * Wrapper.cs: Updated to new version.
2849 * DirectoryInfo (Delete): Implement using the Directory API.
2851 * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
2852 Delete, Create, Parent, Exists, MoveTo): Implement.
2854 * Directory.cs (GetListing): implement new utility function.
2855 (GetDirectories): Implement.
2856 (GetFileSystemEntries): Implement.
2857 (GetFiles): Implement.
2859 * CheckArgument.cs (Path): Do not allow null by default.
2861 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2863 * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
2866 2002-01-20 Nick Drochak <ndrochak@gol.com>
2868 * SeekOrigin.cs: Added Serializable attribute.
2870 2002-01-19 Duncan Mak <duncan@ximian.com>
2872 * PathTooLongException.cs:
2873 * EndOfStreamException.cs: Added to CVS.
2875 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
2877 * BufferedStream.cs: Initial implemenation. The synchronous
2878 methods for both reading and writing are implemented. I'll do the
2879 asynchronous methods in a bit.
2881 Wed Jan 9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
2883 * BinaryWriter.cs: Initial implementation. And it's all there.
2885 * BinaryReader.cs: The constructor now uses the passed in encoding,
2888 Wed Jan 9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
2890 * BinaryReader.cs: Initial implementation. I think it's complete.
2892 2002-01-04 Ravi Pratap <ravi@ximian.com>
2894 * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
2895 attribute decorations.
2897 * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
2898 Path.cs, TextReader.cs, TextWriter.cs : Ditto.
2900 * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs:
2903 2001-12-11 Dick Porter <dick@ximian.com>
2905 * FileStream.cs: Use handles rather than casting file descriptors.
2906 Added Handle property.
2908 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
2910 * CheckPermission.cs: disable ModeAccess() code: it's wrong.
2911 * FileStream.cs: only trow an exception if the read failed in ReadByte().
2912 * StreamReader.cs: implement Peek and Read.
2913 * TextWriter.cs: CLSCompliant updates.
2915 2001-11-10 Sean MacIsaac <macisaac@ximian.com>
2917 * FileNotFoundException.cs: Added some constructors
2919 * Path.cs (GetFullPath): Fixed implementation
2921 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
2923 * DirectoryNotFoundException.cs: implemented.
2925 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
2927 * File.cs: fix signatures of the Open() and OpenRead() functions
2930 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
2932 * FileLoadException.cs, FileNotFoundException.cs: added.
2934 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
2936 * TextReader.cs: implemented the Read method
2938 * StreamReader.cs: impl. stubs
2940 * StreamWriter.cs: impl.
2942 * TextWriter.cs: implemented Write and WriteLine methods
2944 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
2946 * FileAccess.cs, FileMode.cs: change values to be compatible with
2949 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
2951 * IOException.cs: Implemented System.IO.Exception.
2953 2001-07-18 Michael Lambert <michaellambert@email.com>
2955 *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
2957 2001-07-19 Marcin Szczepanski <marcins@zipworld.com.au>
2959 * System.IO.MemoryStream.cs: Added. Had quite a few cases of
2960 "LAMESPEC", but the tests work against the MS implementation so
2961 the major functions are right (ie. Read/Write/Seek). Some more
2962 tests required for the various constructors and exceptions.
2964 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
2966 * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
2967 New class implemenations.
2969 * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.