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