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