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