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