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