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