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