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