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