2008-11-09 William Holmes <billholmes54@gmail.com>
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
1 2008-11-09  William Holmes  <billholmes54@gmail.com>
2
3         * TextReader.cs : Adding the NullTextReader as a private class to
4           the TestReader class for the Null field of the TestReader.
5
6         Code is contributed under MIT/X11 license.
7
8 2008-11-06  Jonathan Chambers  <joncham@gmail.com>
9
10         * MonoIO.cs : Add DuplicateHandle.
11
12 2008-10-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
13
14         * Path.cs: clean the path when we're not in windows. 
15         Bug #321706 fixed.
16
17 2008-10-12  Zoltan Varga  <vargaz@gmail.com>
18
19         * BinaryReader.cs (Read7BitEncodedInt): Check for an invalid encoding.
20         Fixes #434581.
21
22 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
23
24         * FileStream.cs, MonoIO.cs: For Silverlight 2.0 (NET_2_1) we always
25         throw IsolatedStorageException instead of FileNotFoundException and
26         DirectoryNotFoundException.
27
28 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com>
29
30         * FileStream.cs: Adjust exception being thrown for Silverlight 2.0.
31         * FileSystemInfo.cs: In Silverlight 2 this type does not inherit from 
32         MarshalByRefObject nor does it implement ISerializable.
33         * Stream.cs: In Silverlight 2 this type does not inherit from 
34         MarshalByRefObject.
35         * TextReader.cs: In Silverlight 2 this type does not inherit from 
36         MarshalByRefObject.
37         * TextWriter.cs: In Silverlight 2 this type does not inherit from 
38         MarshalByRefObject.
39         * UnmanagedMemoryStream.cs: For Silverlight 2 add CLSCompliant(false)
40         to the PositionPointer property.
41
42 2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
43
44         * StreamWriter.cs: Change argument check for buffersize to require
45         positive number. Removed duplicate disposed check for AutoFlush.
46         Removed unnecessary initialization of bools.
47
48 2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
49
50         * StreamWriter.cs: Removed duplicate argument checks from .ctor taking
51         path, as these checks are already done in FileStream .ctor. Removed
52         parameter name from ArgumentException to match MS.
53
54 2008-07-28  Marek Safar <marek.safar@gmail.com>
55
56         * File.cs: Delay DateTime .cctor invocation.
57
58 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
59
60         * File.cs: Fix parameter name
61
62 2008-07-03  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
63
64         * TextWriter.cs:
65         * StreamWriter.cs:
66         * StreamReader.cs:
67         * Stream.cs:
68         * MemoryStream.cs:
69         * File.cs:
70         * DriveNotFoundException.cs:
71         * Directory.cs: Fix parameter names
72
73 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
74
75         * BinaryReader.cs: Fix parameter names
76         * BinaryWriter.cs: Fix parameter names, fix exceptions
77         * BufferedStream.cs: Fix parameter names
78         * Directory.cs: Fix parameter names, fix exceptions, optimize == "" cases
79         * DirectoryInfo.cs:
80         * DirectoryNotFoundException.cs:
81         * FileNotFoundException.cs:
82         * FileStream.cs: Fix parameter names, fix exceptions
83         * IOException.cs: Fix parameter names
84
85 2008-06-21  Gert Driesen  <drieseng@users.sourceforge.net>
86
87         * Path.cs: Fixed exception arguments to match MS. Removed obsolete
88         LAMESPEC comment. In GetPathRoot, throw ArgumentException if path
89         is whitespace-only. Throw ArgumentException in HasExtension, if path
90         contains invalid path characters.
91
92 2008-05-29  Robert Jordan  <robertj@gmx.net>
93
94         * Path.cs (InsecureGetFullPath): Call CanonicalizePath for
95         UNC paths as well.
96         * Path.cs (GetServerAndShare): New helper method.
97         * Path.cs (SameRoot, CanonicalizePath): Add UNC support.
98         Fixes #394681 and a bunch of TestGetFullPath unit test cases.
99         All changes are Win32 related.
100
101 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
102
103         * DriveInfo.cs: Fix compiler warning
104
105 2008-05-07  Sebastien Pouliot  <sebastien@ximian.com>
106
107         * CheckArgument.cs: Removed. Lots of unused code. The two methods
108         used are now inlined into Path.cs
109         * CheckPermission.cs: Removed. Lots of unused code.
110         * Path.cs: Inlined two checks.
111         [Found using Gendarme]
112
113 2008-04-18  Sebastien Pouliot  <sebastien@ximian.com>
114
115         * Path.cs: Change PathSeparatorChars from private to internal since
116         it's needed for IsolatedStorage.
117
118 2008-04-17  Gert Driesen  <drieseng@users.sourceforge.net>
119
120         * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
121         indicates whether the original path should only container the last
122         part of the directory. Moved logic for determining the Name and
123         Parent to Initialize method, to allow it to be re-used on
124         deserialization. Renamed argument names to fix corcompare issues.
125         Added missing argument checks.
126         * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
127         DirectoryInfo to ensure OriginalPath only contains last part of
128         the directory. 
129         * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
130         FileOptions to FileStream. Removed redundant directory check from
131         Delete and modified exceptions to more closely match MS.
132         * FileInfo.cs: Added argument check to ctor to match MS. Added missing
133         deserialization ctor. Modified argument checks in MoveTo, and removed
134         redundant checks. Added missing argument checks in CopyTo. Code
135         formatting.
136         * FileSystemInfo.cs: Modified argument checks in CheckPath to more
137         closely match MS.
138         * MonoIO.cs: Added msg that does not disclose filename for 
139         ERROR_FILE_EXISTS. 
140         * Path.cs: Use String.Length instead of comparing with String.Empty.
141         Removed exceptions argument names to match MS.
142
143 2008-04-16  Gert Driesen  <drieseng@users.sourceforge.net>
144
145         * File.cs: Changed argument names and thrown exception to better match
146         .NET. Use String.Length instead of comparison with empty string.
147         * DirectoryInfo.cs: Added missing deserialization ctor.
148
149 2008-04-04  Dick Porter  <dick@ximian.com>
150
151         * File.cs: Pretty up the file share exception with the path name.
152
153 2008-03-28  Sebastien Pouliot  <sebastien@ximian.com>
154
155         * Directory.cs: Exception differs when deleting a directory if it 
156         does not exists or if a file of the same name exists. Also don't 
157         include path in exception if Delete fails.
158
159 2008-03-20  Marek Safar  <marek.safar@gmail.com>
160
161         * Path.cs (Combine): Call ToString to optimize concatenation.
162
163 2008-03-02  Gert Driesen  <drieseng@users.sourceforge.net>
164
165         * DriveInfo.cs: Removed debug code.
166
167 2008-02-15  Miguel de Icaza  <miguel@novell.com>
168
169         * UnmanagedMemoryStream.cs: Implement few missing pieces.
170
171 2008-02-10  Zoltan Varga  <vargaz@gmail.com>
172
173         * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
174         calls + creation of a string for each character read.
175
176 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
177
178         * MemoryStream.cs: Remove unused code found by Gendarme.
179
180 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
181
182         * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior. 
183         Fixes #352184.
184
185 2007-12-28  Zoltan Varga  <vargaz@gmail.com>
186
187         * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
188         unsafe icalls. Fixes #350860.
189
190 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * FileStream.cs : Close() does not exist in 2.0 (Stream does).
193           Move GC.SuppressFinalize() to Dispose(true).
194
195 2007-11-12  Juraj Skripsky  <js@hotfeet.ch>
196
197         * Path.cs (GetRandomFileName): Return filenames containing only
198         characters from the range [a..z0..9] as MS.NET does. 
199
200 2007-11-02  Atsushi Enomoto  <atsushi@ximian.com>
201
202         * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
203           the maximum max char count for Decoder.GetChars() since it might
204           contain pending buffer by flush. Fixed bug #338370.
205
206 2007-11-01  Miguel de Icaza  <miguel@novell.com>
207
208         * Path.cs (GetDirectoryName): The paths returned from this routine
209         should be canonical, not just a substring.   In addition to fixing
210         this, it also fixes #324742.
211
212 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
215           for replacement fallback. Binary serialization regression is fixed.
216
217 2007-09-06  Atsushi Enomoto  <atsushi@ximian.com>
218
219         * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
220           Dispose(bool) rather than Close().
221           Stream.Dispose() is virtual in 2.0.
222
223 2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
224
225         * BinaryReader.cs: Fixed line endings.
226         * FileStream.cs: Rename name argument to path. Spaces to tabs.
227
228 2007-08-20  William Holmes  <billholmes54@gmail.com>
229
230         *File.cs:  Add implementation for IO.File.Replace methods.
231         *MonoIO.cs: Declared an internal call for ReplaceFile
232
233         Code is contributed under MIT/X11 license.
234
235 2007-07-31  Dick Porter  <dick@ximian.com>
236
237         * MonoIO.cs: Fix formatting of 'access denied' exception when the
238         path info isn't known.  Fixes bug 82141.
239
240 2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
241
242         * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
243         used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
244         to tabs.
245
246 2007-06-21  Dick Porter  <dick@ximian.com>
247
248         * FileStream.cs: Fix FileShare test, fixing better bug 79250.
249
250 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
251
252         * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
253         * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
254
255 2007-05-25  Gert Driesen  <drieseng@users.sourceforge.net>
256
257         * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
258         to read bytes as this allows us to start reading from the current
259         position. In Read, return 0 when reading beyond the end of the stream
260         and only read bytes until the end of the stream (not capacity).
261         In ReadByte, return -1 when reading beyond the end of the stream.
262         In SetLength: changed argument validation (and reported exceptions) to
263         match MS, removed duplicate access check and changed the current
264         position if length is less than position. In Write: throw
265         NotSupportedException when attempting to write beyond capacity, use
266         Marshal.WriteByte since that allows us to start writing from the
267         current position. Adjust length when position moves beyond length
268         in both Write and WriteByte. Allow position to be moved beyond
269         capacity of stream. Fixed position using Seek (=+ typo). Changed
270         CanRead to ignore current position. Allow Position to be used to move
271         beyond capacity of stream.
272
273 2007-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
274
275         * UnmanagedMemoryStream.cs: Changed argument names and exceptions 
276         (msg, params) to match MS. Verify access argument in ctor. 
277
278 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
279
280         * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
281           return buffer beyond the requested length. Fixed .ctor() for wrong
282           capacity initialization.
283
284 2007-05-12  Jonathan Chambers  <joncham@gmail.com>
285
286         * FileStream.cs: Implement SafeHandle constructors.
287
288 2007-05-01  Dick Porter  <dick@ximian.com>
289
290         * File.cs:
291         * Stream.cs: Missed a few 2.0 methods
292
293 2007-04-30  Dick Porter  <dick@ximian.com>
294
295         * Directory.cs: 
296         * FileShare.cs: 
297         * DirectoryNotFoundException.cs: 
298         * SeekOrigin.cs: 
299         * FileAttributes.cs: 
300         * IOException.cs: 
301         * MemoryStream.cs: 
302         * FileMode.cs: 
303         * BinaryWriter.cs: 
304         * TextWriter.cs: 
305         * File.cs: 
306         * BinaryReader.cs: 
307         * TextReader.cs: 
308         * UnmanagedMemoryStream.cs: 
309         * StringWriter.cs: 
310         * FileAccess.cs: 
311         * FileLoadException.cs: 
312         * BufferedStream.cs: 
313         * Stream.cs: 
314         * FileInfo.cs: 
315         * FileStream.cs:
316         * StringReader.cs: 
317         * StreamWriter.cs: 
318         * EndOfStreamException.cs: 
319         * DriveInfo.cs: 
320         * StreamReader.cs: 
321         * PathTooLongException.cs: 
322         * DriveType.cs: 
323         * FileNotFoundException.cs: 2.0 profile updates
324
325 2007-04-21  Alp Toker  <alp@atoker.com>
326
327         * FileStream.cs: Respect request for buffering in all cases.
328
329         Gonzalo added code in r42667 that disables buffering even when it is
330         requested, in the case that ftype != MonoFileType.Disk. This was
331         killing performance for users who do Console.OpenStandardOutput(1024)
332         but were ending up with a non-buffered FileStream.
333
334         The new behaviour appears correct but we should watch for any
335         regressions.
336
337 2007-04-05  Dick Porter  <dick@ximian.com>
338
339         * Directory.cs: Pass combined path and pattern to
340         MonoIO.GetFileSystemEntries()
341
342 2007-04-03  Alp Toker  <alp@atoker.com>
343
344         * UnmanagedMemoryStream.cs: Should not have a public Dispose().
345         This behaviour is already provided by the base class.
346
347 2007-04-03  Alp Toker  <alp@atoker.com>
348
349         * Stream.cs: CreateWaitHandle() obsolete in 2.0.
350
351 2007-03-18  Alp Toker  <alp@atoker.com>
352
353         * UnmanagedMemoryStream.cs:
354         * Directory.cs: Exception message typo fixes.
355
356 2007-03-11  Zoltan Varga  <vargaz@gmail.com>
357
358         * UnmanagedMemoryStream.cs: Fix a warning.
359
360 2007-03-05  Miguel de Icaza  <miguel@novell.com>
361
362         * Path.cs: Manually call FileStream and pass the new internal
363         FileOptions.1 flag that means "This is a temporary file, use 600
364         permissions". 
365
366         * FileOptions.cs: Document the new private enum value.
367
368 2007-02-22  Dick Porter  <dick@ximian.com>
369
370         * MonoIOError.cs: 
371         * MonoIO.cs: Handle ERROR_CANNOT_MAKE.
372
373 2007-02-19      Eyal Alaluf <eyala@mainsoft.com>
374
375         * DirectoryInfo.cs, Directory.cs: Use MonoNotSupported & MonoLimitation
376           attribute to tag that DirectorySecurity is not supported.
377
378 2007-02-19      Boris Kirzner <borisk@mainsoft.com>
379
380         * Path.cs: fix order of InvalidPathChars on windows.
381
382 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
383
384         * StreamReader.cs: Removed checks for non-existing directory or file,
385         since these checks are also performed in FileStream.
386
387 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
388
389         * FileStream.cs: Always resolve to absolute paths for exceptions, when not
390         in anonymous mode.
391
392 2007-01-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
393
394         * StreamReader.cs: fix for bug #75526. We return earlier from Read () if
395         the underlying stream might block or end on the next read.
396
397 2007-01-22  Miguel de Icaza  <miguel@novell.com>
398
399         * DirectoryInfo.cs: Throw a better exception (accorind go the
400         docs, UnauthorizedAccessException is thrown if the underlying
401         platform does not support it and *also* if there are no
402         permissions to access it, which is more convenient than the
403         PlatformNotSupportedException that only states that it needs Win2k
404         or newer).
405
406 2006-12-23  Alp Toker  <alp@atoker.com>
407
408         * Directory.cs: "platfor" typofix
409
410 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com>
411
412         * File.cs: Add stubs for Encrypt and Decrypt that throws 
413         NotSupportedException just like non-NTFS file systems would with MS.
414         Remove nested #if NET_2_0.
415         * FileInfo.cs: Add stubs for Encrypt and Decrypt that throws 
416         NotSupportedException just like non-NTFS file systems would with MS.
417
418 2006-12-22  Atsushi Enomoto  <atsushi@ximian.com>
419
420         * Directory.cs : non NET_2_0 build fix.
421
422 2006-12-15  Miguel de Icaza  <miguel@novell.com>
423
424         * FileInfo.cs: Empty implementations for Encrypt and Decrypt
425
426 Mon Dec 11 11:40:06 CET 2006 Paolo Molaro <lupus@ximian.com>
427
428         * FileStream.cs: correct exception message patch from
429         Markus Mauhart <mmauhart@chello.at>.
430
431 2006-11-28  Duncan Mak  <duncan@novell.com>
432
433         * TextReader.cs (Dispose): Expose as public in NET_2_0.
434
435 2006-11-26  Miguel de Icaza  <miguel@novell.com>
436
437         * DriveInfo.cs, DriveType.cs: Add a couple of classes for
438         CreativeDocs.Net.  
439
440         Thanks MoMA!  http://www.mono-project.com/Moma
441
442 2006-11-16  Miguel de Icaza  <miguel@novell.com>
443
444         * DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
445         == AllDirectories
446
447 2006-11-13  Dick Porter  <dick@ximian.com>
448
449         * Directory.cs: Don't follow symlinks when deleting directories.
450         Keeps bug 79733 fixed while fixing bug 79887.
451
452         * MonoIO.cs: ExistsSymlink() added, which checks for
453         FileAttributes.ReparsePoint.
454
455 2006-11-07  Dick Porter  <dick@ximian.com>
456
457         * Directory.cs: CreateDirectory() should only throw IOException in
458         the 2.0 profile if a file already exists with the same name, not a
459         directory.
460
461 2006-11-03 Jensen Somers <jensen.somers@gmail.com>
462
463         * Directory.cs: CreateDirectory() should throw IOException if a
464         file or directory with the same name already exists, in the 2.0
465         profile.  Fixes bug 79806.
466
467 2006-10-30 Joel Reed  <joel.reed@ddiworld.com>
468
469         * DirectoryInfo.cs: Implement SearchOption.AllDirectories option.
470
471 2006-10-11  Dick Porter  <dick@ximian.com>
472
473         * FileStream.cs: Cope with 2.0 FileShare.Delete values.  Patch by
474         Peter Dettman <peter.dettman@iinet.net.au> fixing bug 79250.
475
476 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
477
478         * FileInfo.cs: added 2.0 IsReadOnly. Patch by Joel Reed.
479
480 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481
482         * FileInfo.cs: eol-style.
483
484 2006-09-19  Gert Driesen  <drieseng@users.sourceforge.net>
485
486         * FileNotFoundException.cs: Changed message for default ctor to match
487         MS. Use internal message field of Exception to check whether Message
488         is null. On 2.0 profile, use file/assembly load failure message when
489         no message is set and a filename was specified. On 1.0 profile,
490         always use file/assembly load failure message when no message is set
491         (regardless of whether a filename was specified or not). Made some
492         cosmetic changes to ToString to have it match MS.
493
494 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
495
496         * BinaryReader.cs (Read): Avoid allocating memory when reading a char.
497
498 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
499
500         * StreamReader.cs: avoid ArgumentOutRangeException when the underlying
501         stream returns -1 on Read.
502
503 2006-08-30  Lluis Sanchez Gual  <lluis@novell.com>
504
505         * FileInfo.cs: OpenRead should open the file using the Read share mode.
506
507 2006-08-21  Sebastien Pouliot  <sebastien@ximian.com>
508
509         * Path.cs: Added internal method IsPathSubsetOf required to implement
510         correctly FileIOPermission (better located here).
511
512 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
513
514         * File.cs: (Delete) avoid creating the exception object for the 'file
515         not found' case.
516
517 2006-07-24  Miguel de Icaza  <miguel@novell.com>
518
519         * FileShare.cs: Add Delete in 2.0
520
521 2006-07-06  Dick Porter  <dick@ximian.com>
522
523         * Directory.cs: When creating a directory treat ERROR_FILE_EXISTS
524         (ie a file already exists with that name) the same as
525         ERROR_ALREADY_EXISTS (ie a directory already exists with that
526         name.)  Keeps bug 50753 fixed when I fix the io-layer
527         CreateDirectory() behaviour.
528
529 2006-06-21  Atsushi Enomoto <atsushi@ximian.com>
530
531         * Directory.cs : implemented GetFiles() and GetDirectories() which
532           takes SearchOption (as they are used in one of ruby.net stuff).
533
534 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535
536         * File.cs: never throw in Exists.
537
538 2006-05-18  Miguel de Icaza  <miguel@novell.com>
539
540         * Directory.cs (Exists): Ignore INVALID_HANDlE, return false.
541
542 2006-06-03 John Luke <john.luke@gmail.com>
543
544         * Path.cs: fix typo in [Obsolete] message
545         
546 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
547
548         * BinaryReader.cs: use BlockCopyInternal.
549
550 2006-05-01  Daniel Drake  <dsd@gentoo.org>
551
552         * Directory.cs: Return false (as documented) on ERROR_ACCESS_DENIED in
553         Exists() rather than throwing an exception. Bug #78239.
554
555 2006-04-29  Atsushi Enomoto <atsushi@ximian.com>
556
557         * UnexceptionalStreamReader.cs (Read): Fix for #78218, where we
558         consumed characters from the input even when the count was not set
559         to zero, causing some characters to be missing in some
560         circumstances. 
561
562 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
563
564         * Directory.cs: make sure the parent directory is not an empty string
565         when a file name with no path is provided. Fixes bug #78209. Patch by
566         Emery Conrad.
567
568 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
569
570         * StreamReader.cs : implemented EndOfStream property.
571         * File.cs : implemented AppendAllText(), WriteAllLines(),
572           WriteAllBytes() and ReadAllLines(). Bug #77813 fixed.
573
574 2006-04-28  Robert Jordan  <robertj@gmx.net>
575
576         * Path.cs (GetPathRoot): Return just the \\server\share
577         part of a UNC. Fixes #78147.
578
579
580 2006-04-26  Miguel de Icaza  <miguel@novell.com>
581
582         * FileStream.cs: Implement the FileOptions usage by passing all
583         the information to the C layer.  Remove the "isAsync" argument for
584         MonoIO.Open, and instead pass it on the FileOptions.
585
586         * FileOptions.cs: Make it build when including WriteThrough
587
588         * MonoIO.cs: Update MonoIO.Open signature to drop the async
589         argument and take FileOptions instead. 
590
591 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
592
593         * FileStream.cs: Add new net 2.0 ctor.
594
595         * FileOptions.cs: New file.
596
597 2006-03-21  Miguel de Icaza  <miguel@novell.com>
598
599         * Stream.cs: In 2.0 make Close call Dispose(true).
600
601 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
602
603         * FileStream.cs: Seek() should flush the buffer, if any. Fixes bug
604         #77863.
605
606 2006-03-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
607
608         * Stream.cs: Add 2.0 members to Stream.cs (CanTimeout,
609         ReadTimeout and WriteTimeout).
610         
611 2006-02-27  Gert Driesen  <drieseng@users.sourceforge.net>
612
613         * File.cs: In 2.0 profile, File.Get****Time(Utc) should not throw
614         IOException if specified path does not exist. Fixes bug #77641.
615
616 2006-02-26  Gert Driesen  <drieseng@users.sourceforge.net>
617
618         * FileStream.cs: To match MSFT, ignore FileShare.Inheritable on 2.0
619         profile. This fixes bug #77644. Improved usefulness of some existing
620         exception messages.
621
622 2006-02-22  Joerg Rosenkranz <joergr@voelcker.com>
623
624         * MonoIO.cs, MonoIOError.cs: Verbose exception for error 39 
625           (disk full).
626           
627 2006-02-03  Zoltan Varga  <vargaz@gmail.com>
628
629         * Stream.cs FileStream.cs: Add new 2.0 Dispose () method and protected
630         Dispose (bool) method.
631
632 2006-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
633
634         * TextWriter.cs: Dispose () is public in 2.0.
635
636 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
637
638         * UnexceptionalStreamReader.cs: Read (char,int,int) should not
639         return -1. Thanks to Jakob Berkman.
640
641 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
642
643         * StreamReader.cs: (ReadToEnd) if Read returns -1 or 0, we're done.
644
645 2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
646
647         * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow
648           caused infinite loop on Windows.
649
650 2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
651
652         * DirectoryInfo.cs : on Windows top directory is something like c:\.
653
654 2006-01-17  Joshua Tauberer  <tauberer@for.net>
655
656         * StreamReader.cs: Avoid two totally unnecessary string creations.
657           (kind of pedantic)
658
659 2006-01-13  Ben Maurer  <bmaurer@andrew.cmu.edu>
660
661         * TextWriter.cs: Call char[],int,int from the Write(char[]) method
662         both for msft compat and for performance. Thanks to "Mike Glenn" 
663         <mglenn@zoominternet.net> for pointing.
664
665 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
666
667         * File.cs: Support for Read/WriteAllText
668
669 2006-01-11  Sebastien Pouliot  <sebastien@ximian.com>
670
671         * Path.cs: Previous fix caused regression of bug #76191. Fixed (again)
672
673 2006-01-09  Sebastien Pouliot  <sebastien@ximian.com>
674
675         * Path.cs: Fix c14n on Windows when the first separator after the root
676         isn't '\'. Fix problems for XSP with 1.1.13.
677
678 2006-01-07  Miguel de Icaza  <miguel@novell.com>
679
680         * Path.cs (GetTempFilename): Append ".tmp" to the path, some
681         external application expect this extension.
682
683 2006-01-05  Kornél Pál  <kornelpal@hotmail.com>
684
685         * DriveNotFoundException.cs: Added.
686         * MonoIO.cs: Added ERROR_INVALID_DRIVE handling. Pass HResult to
687           IOException constructors.
688         * MonoIOError.cs: Expose ERROR_INVALID_DRIVE.
689
690 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
691
692         * UnexceptionalStreamReader.cs: Re-implemented the Read method to fix 
693         the new line handling when reading from the Console (bug #77108).
694
695 2005-12-24  Kornél Pál  <kornelpal@hotmail.com>
696
697         * FileStream.cs: Set buf_start to actual initial position when creating
698           FileStreams from handles.
699
700 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
701
702         * DirectoryInfo.cs: Fixed #77090 to fix /home parent to be / (and not
703         null).
704
705 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com>
706
707         * Path.cs: Fixed #77058 where a Windows drive wasn't considered during
708         path canonalization.
709
710 2005-12-20  Sebastien Pouliot  <sebastien@ximian.com>
711
712         * Path.cs: Fixed #77007 where a Windows drive is specified with a 
713         partial path.
714
715 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
716
717         * DirectoryInfo.cs: Fixed #76903 where the Name property wasn't 
718         correct in some cases. Added special case for Windows drives. Reduced
719         temporary allocations in Get* methods (removed ArrayList). Added some
720         new 2.0 methods (partial).
721         * MonoIO.cs: Removed InvalidPathChars icall as the return value is 
722         different from 1.x and 2.0. The values are now defined in Path.cs.
723         * Path.cs: Fixed #76191 so that GetFullPath on a Windows drive returns
724         the current directory (if it's on the specified drive). Fixed 2.0 API
725         changes (e.g. static class).
726         * SearchOption.cs: Added missing [Serializable] (2.0).
727
728 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
729
730         * Directory.cs: Fix a warning.
731
732 2005-11-10  Dick Porter  <dick@ximian.com>
733
734         * DirectoryInfo.cs: Fix endless recursion problem with root
735         directory on windows too.  Fixes bug 76191.
736
737 2005-11-06  Zoltan Varga  <vargaz@freemail.hu>
738
739         * Directory.cs: Add stub for net 2.0 GetFiles method.
740
741         * SearchOption.cs: New file.
742
743 2005-10-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
744
745         * StreamReader.cs: made ReadLine() less memory-hungry. Fixes bug #76399.
746
747 2005-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
748
749         * MonoIO.cs: replace FindFirst/FindNext/FindClose with
750         GetFileSystemEntries.
751         * Directory.cs: simplify GetFileSystemEntries by using the new icall.
752
753 2005-10-01  Ben Maurer  <bmaurer@ximian.com>
754
755         * BinaryReader.cs: The patch below had a nasty little bug with
756         long strings that had non-ascii chars in it, because it was
757         looking at the char count, not the byte count.
758
759 2005-09-11  Ben Maurer  <bmaurer@ximian.com>
760
761         * BinaryReader.cs: An optimization for ReadString that had been
762         approved/well tested for a while but never gotten in. Bug #52754.
763
764 2005-09-05  Miguel de Icaza  <miguel@novell.com>
765
766         * MonoIOError.cs: expose the ERROR_DIR_NOT_EMPTY as we are
767         throwing it. 
768
769         * MonoIO.cs: Return a properly named error.
770
771 2005-08-23  Raja R Harinath  <rharinath@novell.com>
772
773         Fix #75679.
774         * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
775
776 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
777
778         * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
779         expanding the buffer.
780
781 2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
782
783         * Directory.cs: don't leak 'find' handles.
784
785 2005-07-05  Dick Porter  <dick@ximian.com>
786
787         * MonoIO.cs:
788         * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
789
790 2005-07-04  Sebastien Pouliot  <sebastien@ximian.com>
791
792         * DirectoryInfo.cs: Fixed recursion problem with root directory 
793         introduced when fixing bug #75443.
794
795 2005-07-02  Sebastien Pouliot  <sebastien@ximian.com>
796
797         * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
798         NET_2_0.
799         * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
800         separator. Added ComVisible for NET_2_0. Normalized line endings.
801
802 2005-05-26  Miguel de Icaza  <miguel@novell.com>
803
804         * File.cs (ReadAllBytes): add.
805
806 Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
807
808         * FileStream.cs: complete fix for #74971.
809
810 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
811
812         * FileStream.cs: make WriteByte work in all cases when no buffer is
813         being used. Fixes bug #74971.
814
815 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
816
817         * Directory.cs: if the pattern is just a file name and it exists, return
818         it right away. Fixes bug #72143.
819
820 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
821
822         * File.cs (Open): If a stream is opened with Append access, you
823         only want Write access. Fixes bug #71088.
824
825 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
826
827         * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
828         bug #74190.
829
830 2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
831
832         * Path.cs: don't trim the path in CanonicalizePath on non-windows
833         systems. Fixes bug #53173.
834
835 2005-04-09  Miguel de Icaza  <miguel@novell.com>
836
837         * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
838         file if the position of the stream is not at the beginning.  Fixes
839         bug #74513
840
841 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
842
843         * FileStream.cs:
844         * MonoIO.cs: remove dead code related to async IO.
845
846 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
847
848         * Directory.cs: Added a Demand for Read/Write when creating a new 
849         directory.
850         * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on 
851         the class.
852         * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
853         Added an Assert for unrestricted file access to GetTempFilename as
854         the method must create the (zero-length) file and can be called from
855         partially trusted code. Added a Demand for unrestricted environment
856         access to GetTempPath method.
857         * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
858         accepting a file handle. Added LinkDemand and InheritanceDemand for 
859         UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
860
861 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
862
863         * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
864         decimals in little endian format.
865
866 2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
867
868         * MonoIO.cs:
869         * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
870
871 2005-03-15  Sebastien Pouliot  <sebastien@ximian.com>
872
873         * FileStream.cs: Anonymize part of the path when exceptions are throw
874         by a FileStream is used for isolated storage. Throw a DirectoryNotFound
875         Exception for any FileMode not just CreateNew (see new unit tests).
876
877 2005-03-09  Dick Porter  <dick@ximian.com>
878
879         * MonoIOError.cs: 
880         * MonoIO.cs: Add a few more exception messages
881
882 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
883
884         * CheckPermission.cs: Fix warning.
885
886 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
887
888         * File.cs: Exists does not throw when there are invalid characters in
889         the file name.
890         * MonoIOError.cs: uncommented INVALID_NAME.
891
892         Patch by Gert Driesen.
893
894 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
895
896         * FileStream.cs: Added new constructor to allow anonymous files (i.e.
897         when Name property is "[Unknown]") for IsolatedStorage. Added
898         SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
899         for the NET_2_0 profile.
900
901 2005-01-28  Sebastien Pouliot  <sebastien@ximian.com>
902
903         * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
904
905 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
906
907         * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
908         (GAC) log from being disclosed unless code has ControlPolicy and 
909         ControlEvidence. Added missing HResult value. Fixed Message property 
910         to match MS results. Changed ToString to use a StringBuilder.
911
912 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
913
914         * Directory.cs: Added CAS security to Get|SetCurrentDirectory to 
915         complete Environment security checks.
916
917 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
918
919         * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
920
921 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
922
923         * File.cs: delegate to the runtime the task of checking for destination
924         file existence in Move.
925
926 2004-12-11  Ben Maurer  <bmaurer@ximian.com>
927
928         * BinaryReader.cs (ReadByte): Check for exceptions here.
929
930 2004-12-06  Atsushi Enomoto  <atsushi@ximian.com>
931
932         * TextWriter.cs : create CoreNewLine in another .ctor().
933
934 2004-12-05  Ben Maurer  <bmaurer@ximian.com>
935
936         * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
937         not make a string out of the array every time it is called.
938
939         Thanks to Atsushi for the idea.
940
941 2004-12-04  Ben Maurer  <bmaurer@ximian.com>
942
943         * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
944         
945         * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
946
947 2004-11-19  Dick Porter  <dick@ximian.com>
948
949         * MonoIOError.cs: 
950         * MonoIO.cs: Add a proper message for sharing violation
951
952 2004-11-01  Ben Maurer  <bmaurer@ximian.com>
953
954         * MonoIOError.cs: All of these fields just take up room in corlib,
955         bloating things up. To make it worse, we need to malloc data at
956         runtime about them. Since most are not used, am commenting them
957         out
958
959 2004-09-19  Dick Porter  <dick@ximian.com>
960
961         * UnexceptionalStreamWriter.cs: 
962         * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
963         StreamReader that catch IOException.  Used by System.Console so
964         that graphical applications dont get IO errors when their
965         stdin/out/err vanishes (ie when they spew debug output.)
966
967 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
968
969         * BinaryReader.cs: Use ReadByte when possible. Gives a tad
970         of perf, and fixes a bug reported on mono-patches-list
971
972 2004-09-08  Miguel de Icaza  <miguel@ximian.com>
973
974         * File.cs: Added Gettextification, provide a better error message
975         for #62112
976
977 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
978
979         * Directory.cs,
980         * File.cs: Class is static for NET_2_0.
981
982 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
983
984         * MemoryStream.cs (SetLength): Use Array.Clear here
985
986 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
987
988         * Path.cs (Combine): Array.IndexOf is slow (because of the
989         special cases it must handle). So, rather than doing IndexOf
990         just check each type of seperator.
991
992 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
993
994         * StringReader.cs (StreamReader): remove sourceChars and disposed
995         variables
996         (Read): Copy directly from the string, rather than a char []
997         (Dispose, CheckObjectDisposedException): the flag for being
998         disposed is now source == null.
999
1000 2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1001
1002         * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
1003
1004 2004-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
1005
1006         * StreamWriter.cs: avoid String.ToCharArray for perf.
1007
1008 2004-08-18  Dick Porter  <dick@ximian.com>
1009
1010         * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
1011         Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
1012
1013 2004-08-13  Dick Porter  <dick@ximian.com>
1014
1015         * StreamWriter.cs: Allow FileShare.Read access to the underlying
1016         FileStream, to be compatible with MS.  Fixes bug 62152.
1017
1018 2004-07-06  Dick Porter  <dick@ximian.com>
1019
1020         * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
1021         Don't blow away the SetFileTime() error before the caller gets to
1022         see it.  Part of the bug fix to 60970.
1023
1024 2004-07-05  Dick Porter  <dick@ximian.com>
1025
1026         * CheckPermission.cs:
1027         * File.cs:
1028         * FileInfo.cs:
1029         * MonoIO.cs:
1030         * FileStream.cs: Give the filename when throwing
1031         FileNotFoundException.  Fixes bug 61120, based on patch from
1032         Carlos Alberto Cesario <carloscesario@gmail.com>.
1033
1034 2004-07-05  Dick Porter  <dick@ximian.com>
1035
1036         * File.cs: File.Move() should check that the destination doesn't
1037         already exist.  Fixes bug 60915, patch based on one from Carlos
1038         Alberto Cesario <carloscesario@gmail.com>.
1039
1040 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1041
1042         * Directory.cs: implemented GetLogicalDrives.
1043
1044 2004-06-24  Lluis Sanchez Gual  <lluis@novell.com>
1045
1046         * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
1047
1048 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
1049
1050         * FileStream.cs :
1051           .ctor() should block write access when created with FileAccess.Write.
1052
1053 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
1054
1055         * FileStream.cs : Check buffer size before creating file.
1056         * StreamReader.cs : Check encoding!=null before creating file.
1057         * File.cs,
1058           MonoIO.cs : Convert DateTime to FileTime after checking
1059           file IO sharing violation (it just fixes the type of exception).
1060
1061 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1062
1063         * MemoryStream.cs: added TODO for serialization
1064         * StringWriter.cs: added TODO for serialization
1065
1066 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1067
1068         * TextWriter.cs: fixed CoreNewLine to return char[]
1069
1070 2004-06-14  Dick Porter  <dick@ximian.com>
1071
1072         * Directory.cs:
1073         * File.cs: Catch PATH_NOT_FOUND errors in Exists() too.  Fixes bug
1074         59354.
1075
1076 2004-06-09  Duncan Mak  <duncan@ximian.com>
1077
1078         * BufferedStream.cs (SetLength): Add checks and throw the
1079         appropriate Exceptions here instead.
1080
1081         * FileStream.cs (SetLength): Revert part of my last patch, we're
1082         throwing ObjectDisposedException instead of IOException again.
1083
1084 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1085
1086         * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
1087         Fixes bug #59639.
1088
1089 2004-06-08  Duncan Mak  <duncan@ximian.com>
1090
1091         * Directory.cs (IsRootDirectory): New helper method for
1092         determining if a path is the root directory. Handles both Unix as
1093         well as Windows.
1094         (GetParent): Use IsRootDirectory for the check.
1095
1096 2004-06-08  Duncan Mak  <duncan@ximian.com>
1097
1098         * File.cs: Fix line endings, took out ^Ms.
1099
1100         * Directory.cs (GetParent): Return null if the specified path is
1101         the root directory.
1102
1103         * StreamReader.cs (StreamReader):
1104         (Initialize): Add a check that buffer_size must not be less than
1105         or equal to zero.
1106
1107 2004-06-07  Duncan Mak  <duncan@ximian.com>
1108
1109         * FileStream.cs (SetLength): The other exceptions have precendence
1110         over ObjectDisposedException, which is not one of the exceptions
1111         listed in the documentation). Also, instead of throwing an
1112         ObjectDisposedException, throw an IOException.
1113
1114 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1115
1116         * BufferedStream.cs: fixed typo that prevented Read() from working.
1117         This went out with beta 2. Closes bug #59534.
1118
1119 2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1120
1121         * Directory.cs, File.cs : Fixed Exists() that raised 
1122           DirectoryNotFoundException. Quick fix for bug #59354.
1123
1124 2004-05-30  Sebastien Pouliot  <sebastien@ximian.com>
1125
1126         * BinaryReader.cs: Added missing disposed check for most methods. 
1127         Reordered some exceptions to match MS implementation. 
1128         * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
1129         SetLength must also reset Position and check for dispose.
1130         * FileStream.cs: Added missing check for invalid SeekOrigin. Added
1131         missing validations.
1132
1133 2004-05-27  Dick Porter  <dick@ximian.com>
1134
1135         * FileSystemInfo.cs: Take out the error checking in Refresh(), it
1136         broke other stuff
1137         
1138 2004-05-27  Dick Porter  <dick@ximian.com>
1139
1140         * MonoIO.cs: Define icalls for Lock() and Unlock()
1141         
1142         * FileStream.cs: Implement Lock() and Unlock().  Also improve IO
1143         error reporting.
1144
1145         * FileSystemInfo.cs:
1146         * File.cs:
1147         * Directory.cs: Improve IO error reporting
1148
1149 2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1150
1151         * FileStream.cs: delay seeking to the end when FileMode.Append is
1152         specified until after buffer initialization. Fixes bug #59151.
1153
1154 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
1155
1156         * BufferedStream.cs: Added globalization and fixed exceptions and 
1157         possible integer overflow.
1158         * FileStream.cs: Fixed possible integer overflow.
1159         * MemoryStream.cs: Fixed possible integer overflow.
1160         * StringReader.cs: Fixed possible integer overflow.
1161         * TextWriter.cs: Fixed possible integer overflow.
1162
1163 2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1164
1165         * FileInfo.cs,
1166           DirectoryInfo.cs : ToString() should return constructor arg as is.
1167           This fixes bug #58804.
1168
1169 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1170
1171         * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
1172         no files, but the directory was found. Fixes bug #58875.
1173
1174 2004-05-24  Duncan Mak  <duncan@ximian.com>
1175
1176         * StreamWriter.cs (Close): Remember to set the 'closed' flag.
1177
1178         * DirectoryInfo.cs: 
1179         * FileInfo.cs: Reformat the whole file to use DOS line endings.
1180         (MoveTo): Return if the destination of Move is the
1181         same as the file's current location.
1182
1183 2004-05-24  Sebastien Pouliot  <sebastien@ximian.com>
1184
1185         * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
1186         condition to allow zeroization of existing data when we shrink the 
1187         stream.
1188         * StreamReader.cs: Add checks for null encoding. Fixed possible integer
1189         overflow and ArgumentNullException in Read.
1190         * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
1191         AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
1192         * StringWriter.cs: Fixed possible integer overflow in Write. Changed
1193         spaces for tabs.
1194
1195 2004-05-22  Duncan Mak  <duncan@ximian.com>
1196
1197         * Directory.cs: Reformat the whole file to use Unix line endings
1198         for consistency.
1199         (GetFileSystemEntries): If pattern is String.Empty, always
1200         return an empty string array. Throw the ArgumentException if path
1201         is an empty string (determined using the new helper method)
1202         (IsEmptyString): Returns true on an empty string or a string with
1203         only whitespace characters.
1204
1205         * Path.cs (GetPathRoot): Throw an ArgumentException if the path
1206         argument is String.Empty.
1207
1208 2004-05-20  Jackson Harper  <jackson@ximian.com>
1209
1210         * DirectoryInfo.cs: Create subdirectories correctly if more then
1211         one is supplied.
1212         
1213 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
1214
1215         * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
1216
1217 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
1218
1219         * FileInfo.cs: ToString() returns not full path but just the file name.
1220
1221 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
1222
1223         * TextWriter.cs: Removed useless [CLSCompliant (false)]
1224
1225 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1226
1227         * Directory.cs: use the real wildcard for file names as it is supported
1228         now in io-layer. SearhPattern is not needed now.
1229
1230 2004-04-30 Ben Maurer  <bmaurer@users.sourceforge.net>
1231
1232         * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
1233
1234 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
1235
1236         * Path.cs: readonlyificate.
1237
1238 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
1239
1240         * FileStream.cs: constify.
1241
1242 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1243
1244         * SearchPattern.cs: Call invariant String.ToLower
1245
1246 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1247
1248         * FileStreamAsyncResult.cs: invoke the callback if set as completed
1249         before the asynchronous stuff jumps in.
1250
1251 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1252
1253         * FileStream.cs: only pass the async flag set to true when opening the
1254         file and AIO is supported by the underlying system. Fixes bug #56883.
1255
1256 2004-04-12  Gert Driesen (drieseng@users.sourceforge.net)
1257
1258         * FileSystemInfo.cs: Implemented ISerializable, corrected COM 
1259         visibility of UTC properties
1260
1261 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
1262
1263         * BufferedStream.cs: On Position change, do not reset the buffer if the
1264         new position is in the limits of the buffer. This fixes #49403.
1265
1266 2003-04-03  Atsushi Enomoto <atsushi@ximian.com>
1267
1268         * Path.cs : ChangeExtension() does not remove dot(.) when extension is
1269           an empty string.
1270
1271 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
1272
1273         * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
1274           classes can override to perform class specific refreshing.
1275         * FileInfo.cs: Refresh existence flag when Refresh is called.
1276         * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
1277           The method Write(char) should do nothing by default.
1278
1279 2004-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1280
1281         * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
1282         bug #51741. Patch by Nick Vaughan.
1283
1284 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
1285
1286         * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
1287         with a direct call to ReadData. In InitBuffer(), if buffering is
1288         disabled, create a buffer of one byte, to be used in ReadByte.  This
1289         fixes bug #52361.
1290
1291 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
1292
1293         * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
1294           fixes bug #53892.
1295
1296 2004-03-24  Lluis Sanchez Gual  <lluis@ximian.com>
1297
1298         * File.cs: In Move, throw IOException instead of ArgumentException if 
1299           destination is a directory.
1300         * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
1301         ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
1302         
1303 2004-03-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1304
1305         * StreamWriter.cs: Removed unneeded function
1306
1307 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1308
1309         * FileStream.cs: added support for asynchronous I/O without using the
1310         OS native libraries if available.
1311
1312         * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
1313
1314         * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
1315         new parameter to tell ifthe file will be used for asynch operations.
1316
1317         * Stream.cs: BeginRead/Write do not use delegates. They just are
1318         actually synchronous.
1319
1320         * StreamAsyncResult.cs: IAsyncResult for Stream.
1321
1322 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1323
1324         * Directory.cs: check if the error returned in Exists is different
1325         from 'path not found' and throw the appropiate exception in that case.
1326         See #55160.
1327
1328 2004-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1329
1330         * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
1331
1332 2004-02-25  Jackson Harper <jackson@ximian.com>
1333
1334         * File.cs: Report the filename when deleting a file fails. Patch
1335         by Gert Driesen. Fixes bug #54855.
1336         
1337 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1338
1339         * FileStream.cs: remove dangling ^Ms.
1340
1341 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1342
1343         * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
1344         Path.GetFullPath crash. Fixed it.
1345
1346         * MonoIO.cs: fixed typo.
1347
1348 2004-02-13  Jackson Harper  <jackson@ximian.com>
1349
1350         * FileStream.cs: Throw some more exceptions for invalid
1351         params. Fixes some unit test failures.
1352         * BufferedStream.cs: If the stream is closed (can't read from it
1353         or write to it) throw an ObjectDisposedException.
1354         
1355 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
1356
1357         * StreamWriter.cs, TextWriter.cs: comply with the documented
1358         behaviour and use a decode buffer to improve performance.
1359
1360 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1361
1362         * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
1363
1364 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1365
1366         * Path.cs: add the trailing directory separator only for volumes.
1367         Fixes bug #53035.
1368
1369 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
1370
1371         * IntPtrStream.cs: Fix build bustage.
1372         
1373         * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
1374         the stream is closed.
1375
1376 2004-01-18 Ben Maurer  <bmaurer@users.sourceforge.net>
1377
1378         * FileStream.cs: Locking from bug #32344 removed. This is not
1379         necessary because the correct fix was actually in the console.
1380         This fixes bug #53026. Miguel de Icaza reviewed/approved this
1381         patch.
1382
1383 2004-01-14  Zoltan Varga  <vargaz@freemail.hu>
1384
1385         * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
1386         from small files.
1387
1388 2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
1389
1390         * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
1391           instead of "c:" . This fixed bug #52735.
1392
1393 2004-01-04  Nick Drochak <ndrochak@gol.com>
1394
1395         * Path.cs: Remove defined but unused variable, and also got rid of
1396         some unreachable code.  Eliminates some build warnings.
1397
1398 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
1399
1400         * BinaryWriter.cs: use one encoding buffer for writing
1401         strings rather than allocting one/string. HUGE perf
1402         boost when writing many strings.
1403
1404 2003-12-25  Atsushi Enomoto <atsushi@ximian.com>
1405
1406         * Path.cs : Fixed GetFullPath() (and CanonicalizePath()), 
1407           HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
1408
1409 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
1410
1411         * FileStream.cs: (.ctor) do not set handle
1412         in object until after it is validated via
1413         GetFileType so finalizer doesn't see bad handles and
1414         initialize this.handle to InvalidHandle
1415
1416 2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
1417
1418         * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
1419         not Zero
1420
1421 2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
1422
1423         * Directory.cs : SetCurrentDirectory() should raise errors for
1424           some kind of arguments.
1425
1426 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1427
1428         * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
1429         #52056.
1430
1431 2003-12-06  Ravindra  <rkumar@novell.com>
1432         *MonoIO.cs: Added a new exception case. It is thrown 
1433         when a directory creation is attempted with a name that
1434         is already used by an existing file.
1435
1436 2003-11-28  Dick Porter  <dick@ximian.com>
1437
1438         * Path.cs: Use the char form of LastIndexOf, so that the
1439         comparison is done with the Invariant culture.
1440
1441 2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1442
1443         * Directory.cs: provide the path when getting the IOException.
1444
1445 2003-11-18  John Luke  <jluke@cfl.rr.com>
1446
1447         * CheckArgument.cs:
1448         (PathLength): fix recursion found by JonK
1449         
1450 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1451
1452         * Directory.cs:
1453         (GetCurrentDirectory):
1454         (SetCurrentDirectory): moved here from Environment. Handle error cases.
1455
1456         * MonoIO.cs: add path to the default error message.
1457
1458 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1459
1460         * StringReader.cs: fixed ReadLine for some cases where there are mixed
1461         '\r' and '\n'. Closes bug #51020.
1462
1463 2003-11-14 Ben Maurer  <bmaurer@users.sourceforge.net>
1464
1465         * MemoryStream.cs (.ctor): We need to check if buffer is null
1466         before we get the Length of it.
1467
1468 2003-11-14  Miguel de Icaza  <miguel@ximian.com>
1469
1470         * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
1471
1472 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1473
1474         * Directory.cs: allow directory names without wildcards in the pattern.
1475         Fixes bug #3 50969.
1476
1477         * SearchPattern.cs: made InvalidChars and WildcardChars internal.
1478
1479 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1480
1481         * FileStream.cs: use the argument name when throwing exception.
1482
1483         * StreamReader.cs:
1484         * StringReader.cs:
1485         * TextReader.cs: added [In] attribute for the array in Read.
1486
1487 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1488
1489         * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
1490
1491 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
1492
1493         * Directory.cs: Adjust for missing PlatformID.Unix.
1494
1495 2003-10-28  Miguel de Icaza  <miguel@ximian.com>
1496
1497         * StreamReader.cs: Add checks for disposed stream from bug report
1498         #48696 (Patrik Reali)
1499
1500         * TextReader.cs (Read): Return the total number of bytes read, 
1501         patch from Patrik Realli.
1502
1503 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
1504
1505         * FileStream.cs public FileStream (string name, FileMode mode)
1506         constructor: If we pass FileMode.Append, we can not pass
1507         FileAccess.ReadWrite.  This fixes bug 44959
1508
1509 2003-09-26  Miguel de Icaza  <miguel@ximian.com>
1510
1511         * BufferedStream.cs (Write): Use CanWrite in Write.  Patch from
1512         Francisco Figueiredo Jr.
1513
1514 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1515
1516         * BinaryReader.cs: return the correct number of bytes read when there
1517         are some bytes from peeking.
1518
1519 2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
1520
1521         * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
1522           Added [In,Out] attributes to Read method.
1523
1524 2003-08-05  Martin Baulig  <martin@ximian.com>
1525
1526         * StreamReader.cs (DiscardBufferedData): Do the same like on the
1527         ms runtime: just discard the buffered data, but don't modify the
1528         BaseStream.Position.
1529
1530 2003-08-04  Martin Baulig  <martin@ximian.com>
1531
1532         * StreamReader.cs (DiscardBufferedData): Implemented.
1533
1534 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
1535
1536         * IntPtrStream.cs (Read): Use correct offset here;  Change the
1537         code to use a byte* instead of an IntPtr to reduce the number of
1538         casts used. 
1539
1540         (Read): Use Marshal.Copy instead of the now
1541         deprecated MemCopy.
1542
1543         (IntPtrStream): New stream implementation, it maps to a region in
1544         memory.
1545
1546 2003-07-23  Duncan Mak  <duncan@ximian.com>
1547
1548         * StreamReader.cs (Initialize): This method is not exposed in the
1549         API, mark as internal.
1550
1551 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
1552
1553         * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
1554
1555 2003-07-16  Dick Porter  <dick@ximian.com>
1556
1557         * FileInfo.cs: Update path info when a file is moved.  Patch by
1558         John Luke <jluke@cfl.rr.com>, fixes bug 44253.
1559
1560 2003-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1561
1562         * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
1563
1564 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
1565
1566         * FileStream.cs (Dispose): Flush the buffer even if we don't own the
1567         handle.
1568         * FileStream.cs: Add a new constructor parameter to turn off buffering.
1569         This is used by the Console.OpenStandard...() methods. Also fix
1570         argument checking in InitBuffer(), so a zero buffer size is also 
1571         rejected.
1572
1573 2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
1574
1575         * Stream.cs: use async.delegate invoke 
1576
1577 2003-06-18  Nick Drochak <ndrochak@gol.com>
1578
1579         * FileSystemInfo.cs: Refresh cache when changeing file times.
1580
1581 2003-06-11  Zoltan Varga  <vargaz@freemail.hu>
1582
1583         * FileStream.cs: Fix errors in previous checkins:
1584         (Write): Only take the shortcut route if the data is longer than the
1585         buffer length.
1586         (Write): Flush the buffer before writing out the new data
1587         (Write): Flush the buffer after writing out a segment since otherwise
1588         we will go into an infinite loop.
1589         (FlushBuffer): Remove my last change since it was clearly wrong.
1590         (Seek): Run FlushBuffer () after the in-buffer seek optimization.
1591         (Seek): Only use the in-buffer optimization if the buffer is not
1592         empty.
1593         (Length): Call FlushBuffer () since buffer data might change the size
1594         of the stream.
1595
1596 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1597
1598         * FileStream.cs:
1599         - removed unusefull bugfix (DirectoryNotFoundException)
1600         - Flush before seek.
1601         
1602 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1603
1604         * FileStream.cs: Check buffer size before append/read -exceptios
1605         
1606 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1607
1608         * FileStream.cs: Check DirectoryNotFound before FileNotFound.
1609         
1610 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1611
1612         * FileStream.cs: Does not anymore flush while writing
1613         
1614 2003-06-02  Nick Drochak <ndrochak@gol.com>
1615
1616         * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
1617         for null too.
1618
1619 2003-05-27  Lluis Sanchez Gual <lluis@ximian.com>
1620
1621         * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
1622
1623 2003-05-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1624
1625         * Path.cs: fixed bug #42631.
1626
1627 2003-05-22  Zoltan Varga  <vargaz@freemail.hu>
1628
1629         * File.cs (Move): Allow moving of directories.
1630         Fix 'destination is a directory' test.
1631
1632 2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
1633
1634         * StringWriter.cs: Fixed bug #43431: "StringWriter
1635         .ctor(CultureInfo) does not create a new StringBuilder ()"
1636
1637 2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
1638
1639         * FileStream.cs (FlushBuffer): After a flush, the buffer is
1640         advanced by buf_offset bytes, not buf_length bytes.
1641
1642 2003-05-16  Dick Porter  <dick@ximian.com>
1643
1644         * MonoIO.cs: Implement GetTempPath
1645
1646 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1647
1648         * DirectoryInfo.cs: fixed bug #42991.
1649         * Path.cs:
1650         (CanonicalizePath): store the value of the trimmed input string. Make it
1651         work with paths such as "/home/xxx/.".
1652
1653 2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
1654         * Path.cs 
1655         (CanonicalizePath) Fixed bug #42631, which duplicated the
1656         root part of the path under Windows.
1657
1658 2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
1659
1660         * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
1661         LastWriteTimeUtc and CreationTimeUtc
1662         
1663 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
1664         * Path.cs 
1665         (GetPathRoot) Added support for UNC paths.
1666         (CanonicalizePath) Added optimizations per Miguel's requests.
1667
1668 2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
1669
1670         * BufferedStream.cs: 
1671           - Removed unusefull code.
1672           - Added ObjectDisposedException to Position
1673           - Dont flush if stream is allready closed.
1674           - Flush throws also ObjectDisposedException.
1675         * Directory.cs:
1676           - GetFileSystemEtries: ArgumentNullException if pattern is null
1677         * DirectoryInfo.cs: Fixed little MoveTo () bug.
1678         * FileInfo.cs:
1679           - Exists: If file does not exists when instance is created the
1680           value of the Exists property does not change even if file is created
1681           afterwards.
1682           - Delete: If path is a directory UnauthorizedException is thrown.
1683           - CopyTo: Now we can overwrite file if wanted.
1684         * Path.cs: 
1685           - GetFullPath: Now throws exception when path is "   ".
1686         
1687 2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
1688         * Directory.cs (GetLogicalDrives) Marked as MonoTODO
1689         because we need to implement the method on Windows.
1690         * Path.cs 
1691         (CanonicalizePath) Added new function to get
1692         rid of . and .. in path names. Need to figure out what
1693         other functions should call this.
1694         (GetFullPath) Added call to the above function.
1695         
1696 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1697
1698         * StreamReader.cs:
1699         (.ctor): fixed parameters passed to FileNotFoundException.
1700
1701 2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
1702
1703         * BinaryReader.cs (Read): make sure the buffer is big enough (fix
1704         bug # 40702)
1705
1706 2003-04-24  Pedro Martinez Julia  <yoros@wanadoo.es>
1707
1708         * BufferedStream.cs: Test if it's possible to seek in a Stream
1709         before access to Position. This prevents the exception thrown when
1710         the stream is System.Net.Sockets.NetworkStream.
1711
1712 2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
1713
1714         * Directory.cs: clean up --> performance improvment. Some exceptions
1715         are now checked in File.cs.
1716         * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
1717         
1718 2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
1719
1720         * Directory.cs: lots of fixes. 
1721           - Added GetXXXtimeUtc () (v1.1) methods.
1722           - Added SetXXXtimeUtc () (v1.1) methods.      
1723         
1724 2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
1725
1726         * StringReader.cs (Read): Increment nextChar by charsToRead
1727         instead of count, that will guarantee that the next time the
1728         method is called, it will return 0 on an empty string rather than
1729         throwing an exception
1730
1731 2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
1732
1733         * BufferedStream.cs: Some fixes, mostly throwing exceptions.
1734         * MemoryStream.cs: Changed the order of exception checking
1735         * StringReader.cs: little clean up
1736         
1737 2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
1738
1739         * BinaryWriter.cs: Fixed decimal writing and lots of 
1740         ObjectDisposedExceptions added.
1741         
1742 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
1743
1744         * BinaryReader.cs: Fix to ReadDecimal() method.
1745         
1746 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
1747
1748         * StringReader.cs: Added some ObjectDisposedExceptions.
1749         * StringWriter.cs: Added some ObjectDisposedExceptions.
1750         * BinaryReader.cs: Added some ObjectDisposedExceptions.
1751         
1752 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753
1754         * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
1755         fill a bug report.
1756
1757 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1758
1759         * FileStream.cs: fixed bug #40182 and made more unit test pass.
1760
1761 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1762
1763         * FileStream.cs: Added new methods Lock () and Unlock ()
1764         
1765 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1766
1767         * StringReader.cs: Throws exceptions if constructor parameter is null.
1768         
1769 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1770
1771         * StringWriter.cs: Now throws an exception if StringBuilder parameter
1772         is null
1773         
1774 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
1775
1776         * TextWriter.cs: Implemented Synchronized method.
1777
1778         * TextReader.cs: Implemented Synchronized method.
1779
1780 2003-04-04  Miguel de Icaza  <miguel@ximian.com>
1781
1782         * FileStream.cs (Read, ReadByte, Seek): throw
1783         ObjectDisposedException if the handle has been released.
1784         
1785         (Read): Throw exceptions specified in the spec.
1786
1787         (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
1788         instance methods of FileStream to be thread safe, so remove all
1789         the calls to lock on the object
1790
1791 2003-03-31  Nick Drochak <ndrochak@gol.com>
1792
1793         * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
1794
1795 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
1796
1797         * FileNotFoundException.cs: fixed serialization bug.
1798
1799 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1800
1801         * StringWriter.cs : don't release internalString on Dispose().
1802
1803 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1804
1805         * StreamReader.cs: fixed bug #39280.
1806
1807 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1808
1809         * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
1810         pointing it out.
1811
1812 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1813
1814         * MemoryStream.cs: general fixes and reformatted. Passes all tests in
1815         the new MemoryStreamTest.
1816
1817 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1818
1819         * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
1820         ToArray even after closing the stream.
1821
1822 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1823
1824         * Directory.cs:
1825         (Move): don't use File.Move.
1826         * DirectoryInfo.cs: fixed Name property.
1827         
1828         Fixes bug #37755.
1829
1830 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1831
1832         * DirectoryInfo.cs: changed ToString to match MS behavior.
1833         * Path.cs: further fixes to GetDirectoryName to return null in the
1834         same cases that MS does.
1835
1836         Fixes bug #38387.
1837
1838 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1839
1840         * Path.cs: fixed a couple of bugs reported in #35906.
1841
1842 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1843
1844         * Directory.cs: fixed bugs #38939 and #38940. No need for separate
1845         unix/windows/unc shares code paths.
1846
1847 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1848
1849         * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
1850         SetCreationTime, SetLastAccessTime and SetLastWriteTime.
1851
1852 2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1853
1854         * MemoryStream.cs:
1855         (ToArray): return only the portion of the buffer that contains
1856         data, not the whole buffer. (note: this makes XmlDocument.Load work
1857         again with documents that have a <?xml without the 'encoding'
1858         attribute, which makes gtk-sharp generator work again).
1859
1860 2003-02-25  Nick Drochak <ndrochak@gol.com>
1861
1862         * File.cs (GetCreationTime): Throw proper execption when path is not
1863         found.
1864
1865 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
1866
1867         * MemoryStream.cs: make it behave sanely when the stream is
1868         incrementally expanded.
1869
1870 2003-02-21  Dick Porter  <dick@ximian.com>
1871
1872         * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
1873         32344
1874
1875 2003-02-18  Dick Porter  <dick@ximian.com>
1876
1877         * FileStream.cs: Make FileMode.Append work, and check for Seeking
1878         back over old data (undocumented ms behaviour, throws an exception
1879         if you try).  Fixes bug 35975.
1880
1881 2003-02-17  Dick Porter  <dick@ximian.com>
1882
1883         * FileStream.cs: Don't close the handle if the stream doesn't own
1884         it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
1885         35623.
1886
1887 2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
1888
1889         * FileStream.cs (Write): flush after writing the last segment as well.
1890
1891 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1892
1893         * StringReader.cs:
1894         (ReadLine): fixed the case when the string ends with a '\n'.
1895
1896 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1897
1898         * MemoryStream.cs: create the buffer of the specified capacity.
1899
1900 2003-01-31  Patrik Torstensson
1901
1902         * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
1903         the same way as MS does it (performance improvement)
1904
1905 2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
1906
1907         * Directory.cs (GetFileSystemEntries): moved error handling to the
1908         correct instance of GetFileSystemEntries so all callers can enjoy it.
1909
1910 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
1911
1912         * File.cs: add error handling to Get...Time methods.
1913
1914 2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
1915
1916         * Directory.cs: fix GetParent so it actually works.
1917
1918 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1919
1920         * Path.cs: fixlet to ChangeExtension for the case when the path is
1921         empty.
1922
1923 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1924
1925         * BufferedStream.cs: don't try to write a 0 sized array on when
1926         flushing the stream.
1927         
1928         Fixes bug #37045.
1929
1930 2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
1931
1932         * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
1933
1934 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1935
1936         * MemoryStream.cs: fixed bug #36319.
1937
1938 2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1939         
1940         * Directory.cs: Some fixes to SMB shares handling, and not compiling 
1941         with csc, mcs compiles it correctly (mcs bug 35652)
1942
1943 2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1944
1945         * Directory.cs: Some fixes related to correct some exceptions thrown
1946
1947 2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1948
1949         * Directory.cs: Some Exceptions added, fixed GetParent(),
1950         CreateDirectory() should work with unix, native windows and
1951         windows samba shares. Converted end-lines from dos-mode to unix-mode
1952
1953 2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1954
1955         * Directory.cs: CreateDirectory  works now with Absolute paths
1956         too, not only with relative ones.
1957
1958 2002-12-07  Peter Williams  <peterw@ximian.com>
1959
1960         * Directory.cs: Don't use the uninitialized pathsumm here.
1961         Don't try and create "" if we're using an absolute path.
1962
1963 2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1964
1965         * Directory.cs: Now the creation of a new directory works recursively
1966         it will make parents as needed.
1967
1968 2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1969
1970         * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
1971         fixes Flush ().
1972
1973 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
1974
1975         * StreamWriter.cs: output the encoding preamble at the start of a
1976         stream if needed.
1977
1978 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1979
1980         * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1981
1982 2002-11-06  Miguel de Icaza  <miguel@ximian.com>
1983
1984         * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1985
1986 2002-10-31  Dick Porter  <dick@ximian.com>
1987
1988         * FileStream.cs: Fix buffering properly this time.  Also kludge
1989         around broken pipe errors, treating them as EOF instead of
1990         throwing an IO exception.
1991
1992         * MonoIO.cs: Return the error status in a parameter, as the
1993         GetLastError() value has long since been blown away if we try and
1994         look it up in a subsequent internal call invocation.
1995
1996         * FileSystemInfo.cs: 
1997         * FileInfo.cs: 
1998         * File.cs: 
1999         * Directory.cs: MonoIO methods now have an error parameter
2000
2001 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2002
2003         * TextReader.cs: implemented ReadBlock ().
2004
2005 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
2006
2007         * StreamWriter.cs: Ditto for Null stream.
2008
2009         * BinaryReader.cs: Use Unmarked here too.
2010
2011         * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
2012         is what .NET does.
2013
2014 2002-10-23  Dick Porter  <dick@ximian.com>
2015
2016         * FileStream.cs: Implemented CanSeek, and used it around all the
2017         calls to MonoIO.Seek.  Fixed buffering in Read() so that it
2018         doesn't block forever on short reads.
2019
2020         * MonoFileType.cs: New enum for GetFileType
2021         
2022         * MonoIO.cs: Added GetFileType
2023
2024 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2025
2026         * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
2027         \n (this is what MS does).
2028
2029 2002-10-18  Dick Porter  <dick@ximian.com>
2030
2031         * FileStream.cs: SeekOrigin.End still calculates the offset from
2032         the end of the file with positive values extending the length.
2033         Fixes bug 32471.
2034
2035 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2036
2037         * Path.cs: some cleanup. Thanks to Martin Aliger.
2038
2039 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2040
2041         * FileStream.cs: throw an exception if trying to open a directory.
2042         Thanks to Martin Aliger.
2043
2044 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2045
2046         * Path.cs: fixes bug #28046.
2047
2048 2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2049
2050         * StreamReader.cs: give more information when wrong parameters passed.
2051
2052 2002-09-21  Miguel de Icaza  <miguel@ximian.com>
2053
2054         * FileStream.cs: Do not call FSync on the file.
2055
2056 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
2057
2058         * TextWriter.cs (Null): The Null field should be an instance of a
2059         TextWriter class that does nothing, so it is an instance of the
2060         NullTextWriter class.
2061
2062 2002-09-16  Nick Drochak  <ndrochak@gol.com>
2063
2064         * MemoryStream.cs (Close): Don't throw an exception if the stream
2065         is already closed.
2066
2067 2002-09-15  Miguel de Icaza  <miguel@ximian.com>
2068
2069         * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
2070         Flush calls fsync().  
2071
2072         The API docs show no explicit mention that Flush() should even do
2073         an fsync, I am thinking that we should drop that from the
2074         runtime. 
2075
2076 2002-09-09  Miguel de Icaza  <miguel@ximian.com>
2077
2078         * StreamWriter.cs: When no encoding is provided, create an
2079         encoding without markers, this is what MS does.
2080
2081 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
2082
2083         * StreamReader.cs: Implement detection of byte marks and skipping
2084         of byte marks at the beginning of the stream.
2085
2086         (ReadToEnd): Use buffered read instead of char-by-char
2087         processing. 
2088
2089         Correct the default arguments for creating the StreamReader.
2090
2091 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2092
2093         * CheckArgument.cs: fixed check for empty string.
2094         * Path.cs: various fixes. It passes all the tests in new PathTest.
2095
2096 2002-08-29  Duncan Mak  <duncan@ximian.com>
2097
2098         * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
2099         the build for gtk#.
2100
2101 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2102
2103         * BinaryReader.cs:
2104         * BinaryWriter.cs:
2105         * MemoryStream.cs:
2106         * StreamReader.cs:
2107         * StreamWriter.cs:
2108         * StringReader.cs:
2109         * StringWriter.cs:
2110         * TextWriter.cs: IDisposable fixes.
2111
2112 2002-08-24  Miguel de Icaza  <miguel@ximian.com>
2113
2114         * StreamReader.cs: Removed TODOs, as the code seems to be
2115         complete. 
2116
2117         * Path.cs (GetTempFileName): Make this routine atomic by not
2118         testing and then creating, but using the create call to ensure
2119         that we own the filename.
2120
2121 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2122
2123         * FileLoadException.cs: implemented ToString.
2124
2125         * StreamWriter.cs: added Null field and implemented Write (char) and
2126         Write (char []).
2127
2128 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2129
2130         * StreamReader.cs: implemented NullStreamReader.
2131
2132 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
2133
2134         * Path.cs (GetDirectoryName): Fix for filenames with size = 1
2135
2136         * File.cs: Removed all references that threw exceptions when the
2137         paths contains a colon, as this is a valid part of an identifier
2138         on Unix.
2139
2140         Everywhere: The String.Empty return from GetDirectoryName means
2141         that there is no directory information about the path.
2142
2143 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2144
2145         * FileNotFoundException.cs: use Message and InnerException from base
2146         class. Changed Message and ToString ().
2147
2148 2002-08-19  Dick Porter  <dick@ximian.com>
2149
2150         * BinaryWriter.cs: The length of a string is counted in bytes, not
2151         chars
2152
2153 2002-08-18  Dick Porter  <dick@ximian.com>
2154
2155         * BinaryReader.cs: Fixed buffering
2156
2157 2002-08-09  Nick Drochak  <ndrochak@gol.com>
2158
2159         * BinaryReader.cs: added virtual to Dispose(bool).
2160
2161 2002-08-03  Jason Diamond  <jason@injektilo.org>
2162
2163         * StringWriter.cs: Return UnicodeEncoding for Encoding property.
2164
2165 2002-08-03  Jason Diamond  <jason@injektilo.org>
2166
2167         * StreamWriter.cs: Use GetByteCount() to get exact length instead
2168         of GetMaxByteCount when converting chars to bytes.
2169
2170 2002-07-31  Duncan Mak  <duncan@ximian.com>
2171
2172         * StreamReader.cs: 
2173         (Dispose): Added and implmented.
2174
2175         * StreamWriter.cs: 
2176         (Dispose): Fixed visibility.
2177         (Initialize): Fixed visibility, made internal.
2178
2179         * BinaryReader.cs:
2180         (Dispose): Fixed visibility.
2181
2182 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2183
2184         * File.cs:
2185         (Create): allow file names without path.
2186
2187 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
2188
2189         * FileStream.cs: patch from erik@bagfors.nu to add
2190         Name property support.
2191
2192 2002-07-20  Dick Porter  <dick@ximian.com>
2193
2194         * MonoIO.cs: Added icall to CreatePipe
2195
2196 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2197
2198         * FileInfo.cs: fixes buglet #27940
2199
2200 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2201
2202         * Path.cs: removed unneeded line from GetExtension.
2203
2204 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2205
2206         * FileStream.cs:
2207         (.ctor): call MonoIO.GetException with the file name.
2208
2209 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
2210
2211         * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
2212
2213 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
2214
2215         * StreamReader.cs: Revert the last Peek change and fix the ReadLine
2216         end of line detection code instead.
2217
2218 2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2219
2220         * StreamReader.cs:
2221         (Peek): no need to have seek capabilitites. 
2222
2223 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
2224
2225         * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
2226
2227         * File.cs (Delete): only call Directory.Exists() if DirName != ""
2228
2229 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2230
2231         * Directory.cs: fixed bug #26133 and also test if the directory exist
2232         before performing the search.
2233
2234 2002-06-12  Nick Drochak  <ndrochak@gol.com>
2235
2236         * StringReader.cs (ReadLine): Return null when we get to end of the
2237         string.
2238
2239 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
2240
2241         * StreamWriter.cs: added ability to write null value
2242         
2243 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
2244
2245         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
2246         prevent endless loops.
2247
2248 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
2249
2250         * FileStream.cs: Enforce lower bound on buffer size.
2251
2252 2002-05-16  Piers Haken <piersh@friskit.com>
2253
2254         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
2255
2256 2002-05-17  Nick Drochak  <ndrochak@gol.com>
2257
2258         * StreamWriter.cs: Implement buffering.  Also implemented dispose
2259         pattern as recommended by the MS docs.  Must call Close() now
2260         to ensure the buffer is flushed.
2261
2262 2002-05-15  Nick Drochak  <ndrochak@gol.com>
2263
2264         * Path.cs (GetDirectoryName): Return String.Empty if there is no
2265         directory
2266
2267         * StreamReader.cs: Add some parameter checking on file names.
2268
2269         * StreamWriter.cs: Add some parameter checking on file names.
2270
2271 2002-05-14 Nick Drochak  <ndrochak@gol.com>
2272
2273         * File.cs: Add parameter checks to most methods. Not completely done,
2274         but all current unit tests pass.
2275
2276         * Path.cs: Implement GetTempFileName().
2277
2278 2002-05-10  Nick Drochak  <ndrochak@gol.com>
2279
2280         * StreamWriter.cs (Flush): Throw proper exception if internal stream
2281         has already been closed when we try to flush.
2282
2283 2002/05/10  Nick Drochak <ndrochak@gol.com>
2284
2285         * FileNotFoundException.cs (ToString): Don't try to use the inner
2286         exception, because it might be null.  Use the message instead.
2287
2288 2002-05-09  Nick Drochak  <ndrochak@gol.com>
2289
2290         * File.cs (Delete): Do not throw an exception if the file does not
2291         exist.
2292
2293 2002-05-08  Mike Gray     <mikeg@mikegray.org>
2294
2295         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
2296         should not overwrite dest by default.
2297
2298 2002-05-08  Nick Drochak  <ndrochak@gol.com>
2299
2300         * StreamWriter.cs: Add paramter check to constructors and throw
2301         exceptions where appropriate.
2302
2303 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2304
2305         * StreamReader.cs: return the number of chars read even if we diddn't
2306         fill the whole buffer (makes Sergey's ilasm work with mono).
2307
2308 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
2309
2310         * FileInfo.cs (Create): Implement missing method.
2311
2312 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
2313
2314         * File.cs: Implemented CreateText method, and fixed dst compares
2315         to compare against "" instead of null twice.
2316
2317 2002-05-05  Nick Drochak  <ndrochak@gol.com>
2318
2319         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
2320         use new internal class since null cannot be passed to constructor 
2321         anymore. Also, fix a coule of small bugs.
2322
2323 2002-05-03  Nick Drochak  <ndrochak@gol.com>
2324
2325         * MemoryStream.cs: Refrain from allocating array until the space is
2326         really needed. This fixes a bug in the Length property when the
2327         constructor without the byte array is used.
2328
2329 2002-05-01  Duncan Mak  <duncan@ximian.com>
2330
2331         * DirectoryNotFoundException.cs (constructor): Added missing
2332         serialization constructor.
2333
2334 2002-04-30  Duncan Mak  <duncan@ximian.com>
2335
2336         * FileLoadException.cs (constructors): Added missing (string,
2337         string) ctor, as well as (string, string, Exception) ctor.
2338
2339         (Message): Added more info to the error message
2340
2341         (ToString): Added. We'll need to add the StackTrace stuff when
2342         that works.
2343
2344         * FileShare.cs: Add a missing field, Inheritable.
2345         
2346         * TextReader.cs: Renamed Synchronised method to Synchronized.
2347
2348         * TextWriter.cs: Renamed Synchronised method to Synchronized.
2349         Renamed protected member coreNewLine to CoreNewLine.
2350
2351 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
2352
2353         * BinaryReader.cs: Allocate buffer before its first use.
2354         Handle end of stream properly. Methods to read native types
2355         (ReadInt* etc.) are little-endian (see Compact Framework docs).
2356
2357         * BinaryWriter.cs: Store data in little-endian format.
2358         Use internal buffer for conversions.
2359
2360 2002-03-31  Dick Porter  <dick@ximian.com>
2361
2362         * Directory.cs: Strip out "." and ".." from returned list
2363
2364         * FileAttributes.cs: Get the right enum values
2365
2366 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
2367
2368         * TextWriter.cs (write): added check for null
2369
2370 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
2371
2372         * Directory.cs: Throws DirectoryNotFoundException.
2373         * MonoIO.cs: Fixed to work around enum problem.
2374
2375 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
2376
2377         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
2378
2379 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
2380
2381         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
2382         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
2383         wrapper and PAL classes.
2384
2385         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
2386
2387 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
2388
2389         * MemoryStream.cs (Read): Fixed bug in exception throw.
2390
2391 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
2392
2393         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
2394
2395 2002-03-23  Martin Baulig  <martin@gnome.org>
2396
2397         * StreamReader.cs: Always do buffered reading, use 4k blocks.
2398         (Read (char[], int, int)): Implemented.
2399         (DiscardBufferedData): Implemented.
2400
2401 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
2402
2403         * StreamReader.cs : Fill out, add buffering, and use encoding.
2404
2405 2002-03-19  Martin Baulig  <martin@gnome.org>
2406
2407         * StreamWriter.cs (StreamWriter (string)): The default is to override
2408         the file, not to append to it.
2409         (StreamWriter (string path, bool append)): When appending, seek to the
2410         end of the file, otherwise truncate the file to zero length.
2411         (Dispose (bool)): Close the internalStream.
2412         (Flush): Flush the interalStream.
2413         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
2414
2415 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
2416
2417         * FileStream.cs: Flush buffer before FileSetLength.
2418
2419 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
2420
2421         * Stream.cs (NullStream): Do not track position, this beast does
2422         nothing in practice.
2423
2424 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
2425
2426         * SearchPattern.cs: New class. Glob matching code for Directory.
2427         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
2428
2429 2002/03/15 Nick Drochak <ndrochak@gol.com>
2430
2431         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
2432         This code seemed to be copied from somewhere, and it was close,
2433         but didn't match the docs.  This was the last bit needed to get
2434         NAnt to compile with our class libs.
2435
2436 2002-03-12  Duncan Mak  <duncan@ximian.com>
2437
2438         * EndOfStreamException.cs:
2439         * FileLoadException.cs:
2440         * FileNotFoundException.cs:
2441         * PathTooLongException.cs: Changed the base classes to IOException
2442         instead of SystemException.
2443
2444         * IOException.cs: Added missing constructors.
2445         
2446 2002-03-07  Nick Drochak  <ndrochak@gol.com>
2447
2448         * FileMode.cs: Docs don't say this should be explicitly derived from
2449         int, so just make it a normal Enum.
2450
2451 2002-03-02  Jason Diamond  <jason@injektilo.org>
2452
2453         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
2454
2455 2002-02-12  Nick Drochak  <ndrochak@gol.com>
2456
2457         * PathTooLongException.cs: put it in the correct namespace
2458         * EndOfStreamException.cs: put it in the correct namespace
2459
2460 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
2461
2462         * Directory.cs: handle opendir() return NULL and absolute filenames.
2463
2464 2002-01-31  Duncan Mak  <duncan@ximian.com>
2465
2466         * FileLoadException.cs:
2467         * FileNotFoundException: Added missing bits for serialization.
2468
2469 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
2470
2471         * Directory.cs: allow directories in GetFiles() mask.
2472
2473 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
2474
2475         * FileInfo.c (CopyTo, MoveTo): Implement.
2476
2477         * FileStream.cs: Add argument checking to the constructor.
2478
2479         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
2480         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
2481         
2482         * Directory.cs (Delete): reimplement without using DirectoryInfo.
2483         (Delete): Implement the recursive version.
2484         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
2485         (Move): Reimplement.
2486         (getNames): dead code removal.
2487
2488         * Path.cs: define an internal DirectorySeparatorStr that we use in
2489         a few spots.
2490
2491         * Wrapper.cs: Updated to new version.
2492         
2493         * DirectoryInfo (Delete): Implement using the Directory API.
2494
2495         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
2496         Delete, Create, Parent, Exists, MoveTo): Implement. 
2497
2498         * Directory.cs (GetListing): implement new utility function.
2499         (GetDirectories): Implement.
2500         (GetFileSystemEntries): Implement.
2501         (GetFiles): Implement.
2502
2503         * CheckArgument.cs (Path): Do not allow null by default.
2504
2505 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2506
2507         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
2508         assembly in corlib.
2509
2510 2002-01-20 Nick Drochak  <ndrochak@gol.com>
2511
2512         * SeekOrigin.cs: Added Serializable attribute.
2513
2514 2002-01-19  Duncan Mak  <duncan@ximian.com>
2515
2516         * PathTooLongException.cs: 
2517         * EndOfStreamException.cs: Added to CVS.
2518
2519 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
2520
2521         * BufferedStream.cs: Initial implemenation.  The synchronous
2522         methods for both reading and writing are implemented.  I'll do the
2523         asynchronous methods in a bit.
2524         
2525 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
2526
2527         * BinaryWriter.cs: Initial implementation.  And it's all there.
2528
2529         * BinaryReader.cs: The constructor now uses the passed in encoding,
2530         not UTF8 always.
2531
2532 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
2533
2534         * BinaryReader.cs: Initial implementation.  I think it's complete.
2535
2536 2002-01-04  Ravi Pratap  <ravi@ximian.com>
2537
2538         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
2539         attribute decorations.
2540
2541         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
2542         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
2543
2544         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
2545         Ditto.
2546
2547 2001-12-11  Dick Porter  <dick@ximian.com>
2548
2549         * FileStream.cs: Use handles rather than casting file descriptors.
2550         Added Handle property.
2551
2552 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
2553
2554         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
2555         * FileStream.cs: only trow an exception if the read failed in ReadByte().
2556         * StreamReader.cs: implement Peek and Read.
2557         * TextWriter.cs: CLSCompliant updates.
2558
2559 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
2560
2561         * FileNotFoundException.cs: Added some constructors
2562
2563         * Path.cs (GetFullPath): Fixed implementation
2564
2565 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
2566
2567         * DirectoryNotFoundException.cs: implemented.
2568
2569 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
2570
2571         * File.cs: fix signatures of the Open() and OpenRead() functions
2572         (they are static).
2573
2574 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
2575
2576         * FileLoadException.cs, FileNotFoundException.cs: added.
2577
2578 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
2579
2580         * TextReader.cs: implemented the Read method
2581
2582         * StreamReader.cs: impl. stubs
2583
2584         * StreamWriter.cs: impl.
2585
2586         * TextWriter.cs: implemented Write and WriteLine methods
2587
2588 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
2589
2590         * FileAccess.cs, FileMode.cs: change values to be compatible with
2591         the ms ones.
2592         
2593 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
2594
2595         * IOException.cs: Implemented System.IO.Exception.
2596
2597 2001-07-18  Michael Lambert <michaellambert@email.com>
2598
2599         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
2600
2601 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
2602
2603         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
2604         "LAMESPEC", but the tests work against the MS implementation so
2605         the major functions are right (ie. Read/Write/Seek).  Some more
2606         tests required for the various constructors and exceptions.
2607
2608 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
2609
2610         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
2611         New class implemenations.
2612
2613         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.