Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / System.IO / ChangeLog
1 2005-08-23  Raja R Harinath  <rharinath@novell.com>
2
3         Fix #75679.
4         * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
5
6 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7
8         * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
9         expanding the buffer.
10
11 2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
12
13         * Directory.cs: don't leak 'find' handles.
14
15 2005-07-05  Dick Porter  <dick@ximian.com>
16
17         * MonoIO.cs:
18         * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
19
20 2005-07-04  Sebastien Pouliot  <sebastien@ximian.com>
21
22         * DirectoryInfo.cs: Fixed recursion problem with root directory 
23         introduced when fixing bug #75443.
24
25 2005-07-02  Sebastien Pouliot  <sebastien@ximian.com>
26
27         * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
28         NET_2_0.
29         * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
30         separator. Added ComVisible for NET_2_0. Normalized line endings.
31
32 2005-05-26  Miguel de Icaza  <miguel@novell.com>
33
34         * File.cs (ReadAllBytes): add.
35
36 Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
37
38         * FileStream.cs: complete fix for #74971.
39
40 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
41
42         * FileStream.cs: make WriteByte work in all cases when no buffer is
43         being used. Fixes bug #74971.
44
45 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * Directory.cs: if the pattern is just a file name and it exists, return
48         it right away. Fixes bug #72143.
49
50 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
51
52         * File.cs (Open): If a stream is opened with Append access, you
53         only want Write access. Fixes bug #71088.
54
55 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
56
57         * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
58         bug #74190.
59
60 2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
61
62         * Path.cs: don't trim the path in CanonicalizePath on non-windows
63         systems. Fixes bug #53173.
64
65 2005-04-09  Miguel de Icaza  <miguel@novell.com>
66
67         * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
68         file if the position of the stream is not at the beginning.  Fixes
69         bug #74513
70
71 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
72
73         * FileStream.cs:
74         * MonoIO.cs: remove dead code related to async IO.
75
76 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * Directory.cs: Added a Demand for Read/Write when creating a new 
79         directory.
80         * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on 
81         the class.
82         * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
83         Added an Assert for unrestricted file access to GetTempFilename as
84         the method must create the (zero-length) file and can be called from
85         partially trusted code. Added a Demand for unrestricted environment
86         access to GetTempPath method.
87         * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
88         accepting a file handle. Added LinkDemand and InheritanceDemand for 
89         UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
90
91 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
92
93         * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
94         decimals in little endian format.
95
96 2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
97
98         * MonoIO.cs:
99         * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
100
101 2005-03-15  Sebastien Pouliot  <sebastien@ximian.com>
102
103         * FileStream.cs: Anonymize part of the path when exceptions are throw
104         by a FileStream is used for isolated storage. Throw a DirectoryNotFound
105         Exception for any FileMode not just CreateNew (see new unit tests).
106
107 2005-03-09  Dick Porter  <dick@ximian.com>
108
109         * MonoIOError.cs: 
110         * MonoIO.cs: Add a few more exception messages
111
112 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
113
114         * CheckPermission.cs: Fix warning.
115
116 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
117
118         * File.cs: Exists does not throw when there are invalid characters in
119         the file name.
120         * MonoIOError.cs: uncommented INVALID_NAME.
121
122         Patch by Gert Driesen.
123
124 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
125
126         * FileStream.cs: Added new constructor to allow anonymous files (i.e.
127         when Name property is "[Unknown]") for IsolatedStorage. Added
128         SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
129         for the NET_2_0 profile.
130
131 2005-01-28  Sebastien Pouliot  <sebastien@ximian.com>
132
133         * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
134
135 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
136
137         * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
138         (GAC) log from being disclosed unless code has ControlPolicy and 
139         ControlEvidence. Added missing HResult value. Fixed Message property 
140         to match MS results. Changed ToString to use a StringBuilder.
141
142 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
143
144         * Directory.cs: Added CAS security to Get|SetCurrentDirectory to 
145         complete Environment security checks.
146
147 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
148
149         * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
150
151 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * File.cs: delegate to the runtime the task of checking for destination
154         file existence in Move.
155
156 2004-12-11  Ben Maurer  <bmaurer@ximian.com>
157
158         * BinaryReader.cs (ReadByte): Check for exceptions here.
159
160 2004-12-06  Atsushi Enomoto  <atsushi@ximian.com>
161
162         * TextWriter.cs : create CoreNewLine in another .ctor().
163
164 2004-12-05  Ben Maurer  <bmaurer@ximian.com>
165
166         * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
167         not make a string out of the array every time it is called.
168
169         Thanks to Atsushi for the idea.
170
171 2004-12-04  Ben Maurer  <bmaurer@ximian.com>
172
173         * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
174         
175         * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
176
177 2004-11-19  Dick Porter  <dick@ximian.com>
178
179         * MonoIOError.cs: 
180         * MonoIO.cs: Add a proper message for sharing violation
181
182 2004-11-01  Ben Maurer  <bmaurer@ximian.com>
183
184         * MonoIOError.cs: All of these fields just take up room in corlib,
185         bloating things up. To make it worse, we need to malloc data at
186         runtime about them. Since most are not used, am commenting them
187         out
188
189 2004-09-19  Dick Porter  <dick@ximian.com>
190
191         * UnexceptionalStreamWriter.cs: 
192         * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
193         StreamReader that catch IOException.  Used by System.Console so
194         that graphical applications dont get IO errors when their
195         stdin/out/err vanishes (ie when they spew debug output.)
196
197 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
198
199         * BinaryReader.cs: Use ReadByte when possible. Gives a tad
200         of perf, and fixes a bug reported on mono-patches-list
201
202 2004-09-08  Miguel de Icaza  <miguel@ximian.com>
203
204         * File.cs: Added Gettextification, provide a better error message
205         for #62112
206
207 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
208
209         * Directory.cs,
210         * File.cs: Class is static for NET_2_0.
211
212 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
213
214         * MemoryStream.cs (SetLength): Use Array.Clear here
215
216 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
217
218         * Path.cs (Combine): Array.IndexOf is slow (because of the
219         special cases it must handle). So, rather than doing IndexOf
220         just check each type of seperator.
221
222 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
223
224         * StringReader.cs (StreamReader): remove sourceChars and disposed
225         variables
226         (Read): Copy directly from the string, rather than a char []
227         (Dispose, CheckObjectDisposedException): the flag for being
228         disposed is now source == null.
229
230 2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
231
232         * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
233
234 2004-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
235
236         * StreamWriter.cs: avoid String.ToCharArray for perf.
237
238 2004-08-18  Dick Porter  <dick@ximian.com>
239
240         * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
241         Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
242
243 2004-08-13  Dick Porter  <dick@ximian.com>
244
245         * StreamWriter.cs: Allow FileShare.Read access to the underlying
246         FileStream, to be compatible with MS.  Fixes bug 62152.
247
248 2004-07-06  Dick Porter  <dick@ximian.com>
249
250         * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
251         Don't blow away the SetFileTime() error before the caller gets to
252         see it.  Part of the bug fix to 60970.
253
254 2004-07-05  Dick Porter  <dick@ximian.com>
255
256         * CheckPermission.cs:
257         * File.cs:
258         * FileInfo.cs:
259         * MonoIO.cs:
260         * FileStream.cs: Give the filename when throwing
261         FileNotFoundException.  Fixes bug 61120, based on patch from
262         Carlos Alberto Cesario <carloscesario@gmail.com>.
263
264 2004-07-05  Dick Porter  <dick@ximian.com>
265
266         * File.cs: File.Move() should check that the destination doesn't
267         already exist.  Fixes bug 60915, patch based on one from Carlos
268         Alberto Cesario <carloscesario@gmail.com>.
269
270 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * Directory.cs: implemented GetLogicalDrives.
273
274 2004-06-24  Lluis Sanchez Gual  <lluis@novell.com>
275
276         * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
277
278 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
279
280         * FileStream.cs :
281           .ctor() should block write access when created with FileAccess.Write.
282
283 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
284
285         * FileStream.cs : Check buffer size before creating file.
286         * StreamReader.cs : Check encoding!=null before creating file.
287         * File.cs,
288           MonoIO.cs : Convert DateTime to FileTime after checking
289           file IO sharing violation (it just fixes the type of exception).
290
291 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
292
293         * MemoryStream.cs: added TODO for serialization
294         * StringWriter.cs: added TODO for serialization
295
296 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
297
298         * TextWriter.cs: fixed CoreNewLine to return char[]
299
300 2004-06-14  Dick Porter  <dick@ximian.com>
301
302         * Directory.cs:
303         * File.cs: Catch PATH_NOT_FOUND errors in Exists() too.  Fixes bug
304         59354.
305
306 2004-06-09  Duncan Mak  <duncan@ximian.com>
307
308         * BufferedStream.cs (SetLength): Add checks and throw the
309         appropriate Exceptions here instead.
310
311         * FileStream.cs (SetLength): Revert part of my last patch, we're
312         throwing ObjectDisposedException instead of IOException again.
313
314 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
315
316         * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
317         Fixes bug #59639.
318
319 2004-06-08  Duncan Mak  <duncan@ximian.com>
320
321         * Directory.cs (IsRootDirectory): New helper method for
322         determining if a path is the root directory. Handles both Unix as
323         well as Windows.
324         (GetParent): Use IsRootDirectory for the check.
325
326 2004-06-08  Duncan Mak  <duncan@ximian.com>
327
328         * File.cs: Fix line endings, took out ^Ms.
329
330         * Directory.cs (GetParent): Return null if the specified path is
331         the root directory.
332
333         * StreamReader.cs (StreamReader):
334         (Initialize): Add a check that buffer_size must not be less than
335         or equal to zero.
336
337 2004-06-07  Duncan Mak  <duncan@ximian.com>
338
339         * FileStream.cs (SetLength): The other exceptions have precendence
340         over ObjectDisposedException, which is not one of the exceptions
341         listed in the documentation). Also, instead of throwing an
342         ObjectDisposedException, throw an IOException.
343
344 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
345
346         * BufferedStream.cs: fixed typo that prevented Read() from working.
347         This went out with beta 2. Closes bug #59534.
348
349 2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>
350
351         * Directory.cs, File.cs : Fixed Exists() that raised 
352           DirectoryNotFoundException. Quick fix for bug #59354.
353
354 2004-05-30  Sebastien Pouliot  <sebastien@ximian.com>
355
356         * BinaryReader.cs: Added missing disposed check for most methods. 
357         Reordered some exceptions to match MS implementation. 
358         * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
359         SetLength must also reset Position and check for dispose.
360         * FileStream.cs: Added missing check for invalid SeekOrigin. Added
361         missing validations.
362
363 2004-05-27  Dick Porter  <dick@ximian.com>
364
365         * FileSystemInfo.cs: Take out the error checking in Refresh(), it
366         broke other stuff
367         
368 2004-05-27  Dick Porter  <dick@ximian.com>
369
370         * MonoIO.cs: Define icalls for Lock() and Unlock()
371         
372         * FileStream.cs: Implement Lock() and Unlock().  Also improve IO
373         error reporting.
374
375         * FileSystemInfo.cs:
376         * File.cs:
377         * Directory.cs: Improve IO error reporting
378
379 2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * FileStream.cs: delay seeking to the end when FileMode.Append is
382         specified until after buffer initialization. Fixes bug #59151.
383
384 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
385
386         * BufferedStream.cs: Added globalization and fixed exceptions and 
387         possible integer overflow.
388         * FileStream.cs: Fixed possible integer overflow.
389         * MemoryStream.cs: Fixed possible integer overflow.
390         * StringReader.cs: Fixed possible integer overflow.
391         * TextWriter.cs: Fixed possible integer overflow.
392
393 2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
394
395         * FileInfo.cs,
396           DirectoryInfo.cs : ToString() should return constructor arg as is.
397           This fixes bug #58804.
398
399 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
402         no files, but the directory was found. Fixes bug #58875.
403
404 2004-05-24  Duncan Mak  <duncan@ximian.com>
405
406         * StreamWriter.cs (Close): Remember to set the 'closed' flag.
407
408         * DirectoryInfo.cs: 
409         * FileInfo.cs: Reformat the whole file to use DOS line endings.
410         (MoveTo): Return if the destination of Move is the
411         same as the file's current location.
412
413 2004-05-24  Sebastien Pouliot  <sebastien@ximian.com>
414
415         * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
416         condition to allow zeroization of existing data when we shrink the 
417         stream.
418         * StreamReader.cs: Add checks for null encoding. Fixed possible integer
419         overflow and ArgumentNullException in Read.
420         * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
421         AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
422         * StringWriter.cs: Fixed possible integer overflow in Write. Changed
423         spaces for tabs.
424
425 2004-05-22  Duncan Mak  <duncan@ximian.com>
426
427         * Directory.cs: Reformat the whole file to use Unix line endings
428         for consistency.
429         (GetFileSystemEntries): If pattern is String.Empty, always
430         return an empty string array. Throw the ArgumentException if path
431         is an empty string (determined using the new helper method)
432         (IsEmptyString): Returns true on an empty string or a string with
433         only whitespace characters.
434
435         * Path.cs (GetPathRoot): Throw an ArgumentException if the path
436         argument is String.Empty.
437
438 2004-05-20  Jackson Harper  <jackson@ximian.com>
439
440         * DirectoryInfo.cs: Create subdirectories correctly if more then
441         one is supplied.
442         
443 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
444
445         * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
446
447 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
448
449         * FileInfo.cs: ToString() returns not full path but just the file name.
450
451 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
452
453         * TextWriter.cs: Removed useless [CLSCompliant (false)]
454
455 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
456
457         * Directory.cs: use the real wildcard for file names as it is supported
458         now in io-layer. SearhPattern is not needed now.
459
460 2004-04-30 Ben Maurer  <bmaurer@users.sourceforge.net>
461
462         * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
463
464 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
465
466         * Path.cs: readonlyificate.
467
468 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
469
470         * FileStream.cs: constify.
471
472 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
473
474         * SearchPattern.cs: Call invariant String.ToLower
475
476 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
477
478         * FileStreamAsyncResult.cs: invoke the callback if set as completed
479         before the asynchronous stuff jumps in.
480
481 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
482
483         * FileStream.cs: only pass the async flag set to true when opening the
484         file and AIO is supported by the underlying system. Fixes bug #56883.
485
486 2004-04-12  Gert Driesen (drieseng@users.sourceforge.net)
487
488         * FileSystemInfo.cs: Implemented ISerializable, corrected COM 
489         visibility of UTC properties
490
491 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
492
493         * BufferedStream.cs: On Position change, do not reset the buffer if the
494         new position is in the limits of the buffer. This fixes #49403.
495
496 2003-04-03  Atsushi Enomoto <atsushi@ximian.com>
497
498         * Path.cs : ChangeExtension() does not remove dot(.) when extension is
499           an empty string.
500
501 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
502
503         * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
504           classes can override to perform class specific refreshing.
505         * FileInfo.cs: Refresh existence flag when Refresh is called.
506         * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
507           The method Write(char) should do nothing by default.
508
509 2004-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
510
511         * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
512         bug #51741. Patch by Nick Vaughan.
513
514 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
515
516         * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
517         with a direct call to ReadData. In InitBuffer(), if buffering is
518         disabled, create a buffer of one byte, to be used in ReadByte.  This
519         fixes bug #52361.
520
521 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
522
523         * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
524           fixes bug #53892.
525
526 2004-03-24  Lluis Sanchez Gual  <lluis@ximian.com>
527
528         * File.cs: In Move, throw IOException instead of ArgumentException if 
529           destination is a directory.
530         * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
531         ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
532         
533 2004-03-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
534
535         * StreamWriter.cs: Removed unneeded function
536
537 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
538
539         * FileStream.cs: added support for asynchronous I/O without using the
540         OS native libraries if available.
541
542         * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
543
544         * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
545         new parameter to tell ifthe file will be used for asynch operations.
546
547         * Stream.cs: BeginRead/Write do not use delegates. They just are
548         actually synchronous.
549
550         * StreamAsyncResult.cs: IAsyncResult for Stream.
551
552 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
553
554         * Directory.cs: check if the error returned in Exists is different
555         from 'path not found' and throw the appropiate exception in that case.
556         See #55160.
557
558 2004-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
559
560         * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
561
562 2004-02-25  Jackson Harper <jackson@ximian.com>
563
564         * File.cs: Report the filename when deleting a file fails. Patch
565         by Gert Driesen. Fixes bug #54855.
566         
567 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
568
569         * FileStream.cs: remove dangling ^Ms.
570
571 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
572
573         * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
574         Path.GetFullPath crash. Fixed it.
575
576         * MonoIO.cs: fixed typo.
577
578 2004-02-13  Jackson Harper  <jackson@ximian.com>
579
580         * FileStream.cs: Throw some more exceptions for invalid
581         params. Fixes some unit test failures.
582         * BufferedStream.cs: If the stream is closed (can't read from it
583         or write to it) throw an ObjectDisposedException.
584         
585 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
586
587         * StreamWriter.cs, TextWriter.cs: comply with the documented
588         behaviour and use a decode buffer to improve performance.
589
590 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
591
592         * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
593
594 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
595
596         * Path.cs: add the trailing directory separator only for volumes.
597         Fixes bug #53035.
598
599 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
600
601         * IntPtrStream.cs: Fix build bustage.
602         
603         * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
604         the stream is closed.
605
606 2004-01-18 Ben Maurer  <bmaurer@users.sourceforge.net>
607
608         * FileStream.cs: Locking from bug #32344 removed. This is not
609         necessary because the correct fix was actually in the console.
610         This fixes bug #53026. Miguel de Icaza reviewed/approved this
611         patch.
612
613 2004-01-14  Zoltan Varga  <vargaz@freemail.hu>
614
615         * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
616         from small files.
617
618 2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
619
620         * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
621           instead of "c:" . This fixed bug #52735.
622
623 2004-01-04  Nick Drochak <ndrochak@gol.com>
624
625         * Path.cs: Remove defined but unused variable, and also got rid of
626         some unreachable code.  Eliminates some build warnings.
627
628 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
629
630         * BinaryWriter.cs: use one encoding buffer for writing
631         strings rather than allocting one/string. HUGE perf
632         boost when writing many strings.
633
634 2003-12-25  Atsushi Enomoto <atsushi@ximian.com>
635
636         * Path.cs : Fixed GetFullPath() (and CanonicalizePath()), 
637           HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
638
639 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
640
641         * FileStream.cs: (.ctor) do not set handle
642         in object until after it is validated via
643         GetFileType so finalizer doesn't see bad handles and
644         initialize this.handle to InvalidHandle
645
646 2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
647
648         * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
649         not Zero
650
651 2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
652
653         * Directory.cs : SetCurrentDirectory() should raise errors for
654           some kind of arguments.
655
656 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
657
658         * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
659         #52056.
660
661 2003-12-06  Ravindra  <rkumar@novell.com>
662         *MonoIO.cs: Added a new exception case. It is thrown 
663         when a directory creation is attempted with a name that
664         is already used by an existing file.
665
666 2003-11-28  Dick Porter  <dick@ximian.com>
667
668         * Path.cs: Use the char form of LastIndexOf, so that the
669         comparison is done with the Invariant culture.
670
671 2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
672
673         * Directory.cs: provide the path when getting the IOException.
674
675 2003-11-18  John Luke  <jluke@cfl.rr.com>
676
677         * CheckArgument.cs:
678         (PathLength): fix recursion found by JonK
679         
680 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
681
682         * Directory.cs:
683         (GetCurrentDirectory):
684         (SetCurrentDirectory): moved here from Environment. Handle error cases.
685
686         * MonoIO.cs: add path to the default error message.
687
688 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
689
690         * StringReader.cs: fixed ReadLine for some cases where there are mixed
691         '\r' and '\n'. Closes bug #51020.
692
693 2003-11-14 Ben Maurer  <bmaurer@users.sourceforge.net>
694
695         * MemoryStream.cs (.ctor): We need to check if buffer is null
696         before we get the Length of it.
697
698 2003-11-14  Miguel de Icaza  <miguel@ximian.com>
699
700         * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
701
702 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
703
704         * Directory.cs: allow directory names without wildcards in the pattern.
705         Fixes bug #3 50969.
706
707         * SearchPattern.cs: made InvalidChars and WildcardChars internal.
708
709 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
710
711         * FileStream.cs: use the argument name when throwing exception.
712
713         * StreamReader.cs:
714         * StringReader.cs:
715         * TextReader.cs: added [In] attribute for the array in Read.
716
717 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
718
719         * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
720
721 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
722
723         * Directory.cs: Adjust for missing PlatformID.Unix.
724
725 2003-10-28  Miguel de Icaza  <miguel@ximian.com>
726
727         * StreamReader.cs: Add checks for disposed stream from bug report
728         #48696 (Patrik Reali)
729
730         * TextReader.cs (Read): Return the total number of bytes read, 
731         patch from Patrik Realli.
732
733 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
734
735         * FileStream.cs public FileStream (string name, FileMode mode)
736         constructor: If we pass FileMode.Append, we can not pass
737         FileAccess.ReadWrite.  This fixes bug 44959
738
739 2003-09-26  Miguel de Icaza  <miguel@ximian.com>
740
741         * BufferedStream.cs (Write): Use CanWrite in Write.  Patch from
742         Francisco Figueiredo Jr.
743
744 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
745
746         * BinaryReader.cs: return the correct number of bytes read when there
747         are some bytes from peeking.
748
749 2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
750
751         * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
752           Added [In,Out] attributes to Read method.
753
754 2003-08-05  Martin Baulig  <martin@ximian.com>
755
756         * StreamReader.cs (DiscardBufferedData): Do the same like on the
757         ms runtime: just discard the buffered data, but don't modify the
758         BaseStream.Position.
759
760 2003-08-04  Martin Baulig  <martin@ximian.com>
761
762         * StreamReader.cs (DiscardBufferedData): Implemented.
763
764 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
765
766         * IntPtrStream.cs (Read): Use correct offset here;  Change the
767         code to use a byte* instead of an IntPtr to reduce the number of
768         casts used. 
769
770         (Read): Use Marshal.Copy instead of the now
771         deprecated MemCopy.
772
773         (IntPtrStream): New stream implementation, it maps to a region in
774         memory.
775
776 2003-07-23  Duncan Mak  <duncan@ximian.com>
777
778         * StreamReader.cs (Initialize): This method is not exposed in the
779         API, mark as internal.
780
781 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
782
783         * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
784
785 2003-07-16  Dick Porter  <dick@ximian.com>
786
787         * FileInfo.cs: Update path info when a file is moved.  Patch by
788         John Luke <jluke@cfl.rr.com>, fixes bug 44253.
789
790 2003-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
791
792         * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
793
794 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
795
796         * FileStream.cs (Dispose): Flush the buffer even if we don't own the
797         handle.
798         * FileStream.cs: Add a new constructor parameter to turn off buffering.
799         This is used by the Console.OpenStandard...() methods. Also fix
800         argument checking in InitBuffer(), so a zero buffer size is also 
801         rejected.
802
803 2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
804
805         * Stream.cs: use async.delegate invoke 
806
807 2003-06-18  Nick Drochak <ndrochak@gol.com>
808
809         * FileSystemInfo.cs: Refresh cache when changeing file times.
810
811 2003-06-11  Zoltan Varga  <vargaz@freemail.hu>
812
813         * FileStream.cs: Fix errors in previous checkins:
814         (Write): Only take the shortcut route if the data is longer than the
815         buffer length.
816         (Write): Flush the buffer before writing out the new data
817         (Write): Flush the buffer after writing out a segment since otherwise
818         we will go into an infinite loop.
819         (FlushBuffer): Remove my last change since it was clearly wrong.
820         (Seek): Run FlushBuffer () after the in-buffer seek optimization.
821         (Seek): Only use the in-buffer optimization if the buffer is not
822         empty.
823         (Length): Call FlushBuffer () since buffer data might change the size
824         of the stream.
825
826 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
827
828         * FileStream.cs:
829         - removed unusefull bugfix (DirectoryNotFoundException)
830         - Flush before seek.
831         
832 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
833
834         * FileStream.cs: Check buffer size before append/read -exceptios
835         
836 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
837
838         * FileStream.cs: Check DirectoryNotFound before FileNotFound.
839         
840 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
841
842         * FileStream.cs: Does not anymore flush while writing
843         
844 2003-06-02  Nick Drochak <ndrochak@gol.com>
845
846         * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
847         for null too.
848
849 2003-05-27  Lluis Sanchez Gual <lluis@ximian.com>
850
851         * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
852
853 2003-05-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
854
855         * Path.cs: fixed bug #42631.
856
857 2003-05-22  Zoltan Varga  <vargaz@freemail.hu>
858
859         * File.cs (Move): Allow moving of directories.
860         Fix 'destination is a directory' test.
861
862 2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
863
864         * StringWriter.cs: Fixed bug #43431: "StringWriter
865         .ctor(CultureInfo) does not create a new StringBuilder ()"
866
867 2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
868
869         * FileStream.cs (FlushBuffer): After a flush, the buffer is
870         advanced by buf_offset bytes, not buf_length bytes.
871
872 2003-05-16  Dick Porter  <dick@ximian.com>
873
874         * MonoIO.cs: Implement GetTempPath
875
876 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
877
878         * DirectoryInfo.cs: fixed bug #42991.
879         * Path.cs:
880         (CanonicalizePath): store the value of the trimmed input string. Make it
881         work with paths such as "/home/xxx/.".
882
883 2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
884         * Path.cs 
885         (CanonicalizePath) Fixed bug #42631, which duplicated the
886         root part of the path under Windows.
887
888 2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
889
890         * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
891         LastWriteTimeUtc and CreationTimeUtc
892         
893 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
894         * Path.cs 
895         (GetPathRoot) Added support for UNC paths.
896         (CanonicalizePath) Added optimizations per Miguel's requests.
897
898 2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
899
900         * BufferedStream.cs: 
901           - Removed unusefull code.
902           - Added ObjectDisposedException to Position
903           - Dont flush if stream is allready closed.
904           - Flush throws also ObjectDisposedException.
905         * Directory.cs:
906           - GetFileSystemEtries: ArgumentNullException if pattern is null
907         * DirectoryInfo.cs: Fixed little MoveTo () bug.
908         * FileInfo.cs:
909           - Exists: If file does not exists when instance is created the
910           value of the Exists property does not change even if file is created
911           afterwards.
912           - Delete: If path is a directory UnauthorizedException is thrown.
913           - CopyTo: Now we can overwrite file if wanted.
914         * Path.cs: 
915           - GetFullPath: Now throws exception when path is "   ".
916         
917 2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
918         * Directory.cs (GetLogicalDrives) Marked as MonoTODO
919         because we need to implement the method on Windows.
920         * Path.cs 
921         (CanonicalizePath) Added new function to get
922         rid of . and .. in path names. Need to figure out what
923         other functions should call this.
924         (GetFullPath) Added call to the above function.
925         
926 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
927
928         * StreamReader.cs:
929         (.ctor): fixed parameters passed to FileNotFoundException.
930
931 2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
932
933         * BinaryReader.cs (Read): make sure the buffer is big enough (fix
934         bug # 40702)
935
936 2003-04-24  Pedro Martinez Julia  <yoros@wanadoo.es>
937
938         * BufferedStream.cs: Test if it's possible to seek in a Stream
939         before access to Position. This prevents the exception thrown when
940         the stream is System.Net.Sockets.NetworkStream.
941
942 2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
943
944         * Directory.cs: clean up --> performance improvment. Some exceptions
945         are now checked in File.cs.
946         * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
947         
948 2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
949
950         * Directory.cs: lots of fixes. 
951           - Added GetXXXtimeUtc () (v1.1) methods.
952           - Added SetXXXtimeUtc () (v1.1) methods.      
953         
954 2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
955
956         * StringReader.cs (Read): Increment nextChar by charsToRead
957         instead of count, that will guarantee that the next time the
958         method is called, it will return 0 on an empty string rather than
959         throwing an exception
960
961 2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
962
963         * BufferedStream.cs: Some fixes, mostly throwing exceptions.
964         * MemoryStream.cs: Changed the order of exception checking
965         * StringReader.cs: little clean up
966         
967 2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
968
969         * BinaryWriter.cs: Fixed decimal writing and lots of 
970         ObjectDisposedExceptions added.
971         
972 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
973
974         * BinaryReader.cs: Fix to ReadDecimal() method.
975         
976 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
977
978         * StringReader.cs: Added some ObjectDisposedExceptions.
979         * StringWriter.cs: Added some ObjectDisposedExceptions.
980         * BinaryReader.cs: Added some ObjectDisposedExceptions.
981         
982 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
983
984         * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
985         fill a bug report.
986
987 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
988
989         * FileStream.cs: fixed bug #40182 and made more unit test pass.
990
991 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
992
993         * FileStream.cs: Added new methods Lock () and Unlock ()
994         
995 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
996
997         * StringReader.cs: Throws exceptions if constructor parameter is null.
998         
999 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1000
1001         * StringWriter.cs: Now throws an exception if StringBuilder parameter
1002         is null
1003         
1004 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
1005
1006         * TextWriter.cs: Implemented Synchronized method.
1007
1008         * TextReader.cs: Implemented Synchronized method.
1009
1010 2003-04-04  Miguel de Icaza  <miguel@ximian.com>
1011
1012         * FileStream.cs (Read, ReadByte, Seek): throw
1013         ObjectDisposedException if the handle has been released.
1014         
1015         (Read): Throw exceptions specified in the spec.
1016
1017         (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
1018         instance methods of FileStream to be thread safe, so remove all
1019         the calls to lock on the object
1020
1021 2003-03-31  Nick Drochak <ndrochak@gol.com>
1022
1023         * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
1024
1025 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
1026
1027         * FileNotFoundException.cs: fixed serialization bug.
1028
1029 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1030
1031         * StringWriter.cs : don't release internalString on Dispose().
1032
1033 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1034
1035         * StreamReader.cs: fixed bug #39280.
1036
1037 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1038
1039         * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
1040         pointing it out.
1041
1042 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1043
1044         * MemoryStream.cs: general fixes and reformatted. Passes all tests in
1045         the new MemoryStreamTest.
1046
1047 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1048
1049         * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
1050         ToArray even after closing the stream.
1051
1052 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1053
1054         * Directory.cs:
1055         (Move): don't use File.Move.
1056         * DirectoryInfo.cs: fixed Name property.
1057         
1058         Fixes bug #37755.
1059
1060 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1061
1062         * DirectoryInfo.cs: changed ToString to match MS behavior.
1063         * Path.cs: further fixes to GetDirectoryName to return null in the
1064         same cases that MS does.
1065
1066         Fixes bug #38387.
1067
1068 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1069
1070         * Path.cs: fixed a couple of bugs reported in #35906.
1071
1072 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1073
1074         * Directory.cs: fixed bugs #38939 and #38940. No need for separate
1075         unix/windows/unc shares code paths.
1076
1077 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1078
1079         * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
1080         SetCreationTime, SetLastAccessTime and SetLastWriteTime.
1081
1082 2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1083
1084         * MemoryStream.cs:
1085         (ToArray): return only the portion of the buffer that contains
1086         data, not the whole buffer. (note: this makes XmlDocument.Load work
1087         again with documents that have a <?xml without the 'encoding'
1088         attribute, which makes gtk-sharp generator work again).
1089
1090 2003-02-25  Nick Drochak <ndrochak@gol.com>
1091
1092         * File.cs (GetCreationTime): Throw proper execption when path is not
1093         found.
1094
1095 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
1096
1097         * MemoryStream.cs: make it behave sanely when the stream is
1098         incrementally expanded.
1099
1100 2003-02-21  Dick Porter  <dick@ximian.com>
1101
1102         * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
1103         32344
1104
1105 2003-02-18  Dick Porter  <dick@ximian.com>
1106
1107         * FileStream.cs: Make FileMode.Append work, and check for Seeking
1108         back over old data (undocumented ms behaviour, throws an exception
1109         if you try).  Fixes bug 35975.
1110
1111 2003-02-17  Dick Porter  <dick@ximian.com>
1112
1113         * FileStream.cs: Don't close the handle if the stream doesn't own
1114         it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
1115         35623.
1116
1117 2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
1118
1119         * FileStream.cs (Write): flush after writing the last segment as well.
1120
1121 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1122
1123         * StringReader.cs:
1124         (ReadLine): fixed the case when the string ends with a '\n'.
1125
1126 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1127
1128         * MemoryStream.cs: create the buffer of the specified capacity.
1129
1130 2003-01-31  Patrik Torstensson
1131
1132         * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
1133         the same way as MS does it (performance improvement)
1134
1135 2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
1136
1137         * Directory.cs (GetFileSystemEntries): moved error handling to the
1138         correct instance of GetFileSystemEntries so all callers can enjoy it.
1139
1140 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
1141
1142         * File.cs: add error handling to Get...Time methods.
1143
1144 2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
1145
1146         * Directory.cs: fix GetParent so it actually works.
1147
1148 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1149
1150         * Path.cs: fixlet to ChangeExtension for the case when the path is
1151         empty.
1152
1153 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1154
1155         * BufferedStream.cs: don't try to write a 0 sized array on when
1156         flushing the stream.
1157         
1158         Fixes bug #37045.
1159
1160 2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
1161
1162         * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
1163
1164 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1165
1166         * MemoryStream.cs: fixed bug #36319.
1167
1168 2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1169         
1170         * Directory.cs: Some fixes to SMB shares handling, and not compiling 
1171         with csc, mcs compiles it correctly (mcs bug 35652)
1172
1173 2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1174
1175         * Directory.cs: Some fixes related to correct some exceptions thrown
1176
1177 2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1178
1179         * Directory.cs: Some Exceptions added, fixed GetParent(),
1180         CreateDirectory() should work with unix, native windows and
1181         windows samba shares. Converted end-lines from dos-mode to unix-mode
1182
1183 2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1184
1185         * Directory.cs: CreateDirectory  works now with Absolute paths
1186         too, not only with relative ones.
1187
1188 2002-12-07  Peter Williams  <peterw@ximian.com>
1189
1190         * Directory.cs: Don't use the uninitialized pathsumm here.
1191         Don't try and create "" if we're using an absolute path.
1192
1193 2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1194
1195         * Directory.cs: Now the creation of a new directory works recursively
1196         it will make parents as needed.
1197
1198 2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1199
1200         * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
1201         fixes Flush ().
1202
1203 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
1204
1205         * StreamWriter.cs: output the encoding preamble at the start of a
1206         stream if needed.
1207
1208 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1209
1210         * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1211
1212 2002-11-06  Miguel de Icaza  <miguel@ximian.com>
1213
1214         * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1215
1216 2002-10-31  Dick Porter  <dick@ximian.com>
1217
1218         * FileStream.cs: Fix buffering properly this time.  Also kludge
1219         around broken pipe errors, treating them as EOF instead of
1220         throwing an IO exception.
1221
1222         * MonoIO.cs: Return the error status in a parameter, as the
1223         GetLastError() value has long since been blown away if we try and
1224         look it up in a subsequent internal call invocation.
1225
1226         * FileSystemInfo.cs: 
1227         * FileInfo.cs: 
1228         * File.cs: 
1229         * Directory.cs: MonoIO methods now have an error parameter
1230
1231 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1232
1233         * TextReader.cs: implemented ReadBlock ().
1234
1235 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
1236
1237         * StreamWriter.cs: Ditto for Null stream.
1238
1239         * BinaryReader.cs: Use Unmarked here too.
1240
1241         * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
1242         is what .NET does.
1243
1244 2002-10-23  Dick Porter  <dick@ximian.com>
1245
1246         * FileStream.cs: Implemented CanSeek, and used it around all the
1247         calls to MonoIO.Seek.  Fixed buffering in Read() so that it
1248         doesn't block forever on short reads.
1249
1250         * MonoFileType.cs: New enum for GetFileType
1251         
1252         * MonoIO.cs: Added GetFileType
1253
1254 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1255
1256         * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
1257         \n (this is what MS does).
1258
1259 2002-10-18  Dick Porter  <dick@ximian.com>
1260
1261         * FileStream.cs: SeekOrigin.End still calculates the offset from
1262         the end of the file with positive values extending the length.
1263         Fixes bug 32471.
1264
1265 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1266
1267         * Path.cs: some cleanup. Thanks to Martin Aliger.
1268
1269 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1270
1271         * FileStream.cs: throw an exception if trying to open a directory.
1272         Thanks to Martin Aliger.
1273
1274 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1275
1276         * Path.cs: fixes bug #28046.
1277
1278 2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1279
1280         * StreamReader.cs: give more information when wrong parameters passed.
1281
1282 2002-09-21  Miguel de Icaza  <miguel@ximian.com>
1283
1284         * FileStream.cs: Do not call FSync on the file.
1285
1286 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
1287
1288         * TextWriter.cs (Null): The Null field should be an instance of a
1289         TextWriter class that does nothing, so it is an instance of the
1290         NullTextWriter class.
1291
1292 2002-09-16  Nick Drochak  <ndrochak@gol.com>
1293
1294         * MemoryStream.cs (Close): Don't throw an exception if the stream
1295         is already closed.
1296
1297 2002-09-15  Miguel de Icaza  <miguel@ximian.com>
1298
1299         * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
1300         Flush calls fsync().  
1301
1302         The API docs show no explicit mention that Flush() should even do
1303         an fsync, I am thinking that we should drop that from the
1304         runtime. 
1305
1306 2002-09-09  Miguel de Icaza  <miguel@ximian.com>
1307
1308         * StreamWriter.cs: When no encoding is provided, create an
1309         encoding without markers, this is what MS does.
1310
1311 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
1312
1313         * StreamReader.cs: Implement detection of byte marks and skipping
1314         of byte marks at the beginning of the stream.
1315
1316         (ReadToEnd): Use buffered read instead of char-by-char
1317         processing. 
1318
1319         Correct the default arguments for creating the StreamReader.
1320
1321 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1322
1323         * CheckArgument.cs: fixed check for empty string.
1324         * Path.cs: various fixes. It passes all the tests in new PathTest.
1325
1326 2002-08-29  Duncan Mak  <duncan@ximian.com>
1327
1328         * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
1329         the build for gtk#.
1330
1331 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1332
1333         * BinaryReader.cs:
1334         * BinaryWriter.cs:
1335         * MemoryStream.cs:
1336         * StreamReader.cs:
1337         * StreamWriter.cs:
1338         * StringReader.cs:
1339         * StringWriter.cs:
1340         * TextWriter.cs: IDisposable fixes.
1341
1342 2002-08-24  Miguel de Icaza  <miguel@ximian.com>
1343
1344         * StreamReader.cs: Removed TODOs, as the code seems to be
1345         complete. 
1346
1347         * Path.cs (GetTempFileName): Make this routine atomic by not
1348         testing and then creating, but using the create call to ensure
1349         that we own the filename.
1350
1351 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1352
1353         * FileLoadException.cs: implemented ToString.
1354
1355         * StreamWriter.cs: added Null field and implemented Write (char) and
1356         Write (char []).
1357
1358 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1359
1360         * StreamReader.cs: implemented NullStreamReader.
1361
1362 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
1363
1364         * Path.cs (GetDirectoryName): Fix for filenames with size = 1
1365
1366         * File.cs: Removed all references that threw exceptions when the
1367         paths contains a colon, as this is a valid part of an identifier
1368         on Unix.
1369
1370         Everywhere: The String.Empty return from GetDirectoryName means
1371         that there is no directory information about the path.
1372
1373 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1374
1375         * FileNotFoundException.cs: use Message and InnerException from base
1376         class. Changed Message and ToString ().
1377
1378 2002-08-19  Dick Porter  <dick@ximian.com>
1379
1380         * BinaryWriter.cs: The length of a string is counted in bytes, not
1381         chars
1382
1383 2002-08-18  Dick Porter  <dick@ximian.com>
1384
1385         * BinaryReader.cs: Fixed buffering
1386
1387 2002-08-09  Nick Drochak  <ndrochak@gol.com>
1388
1389         * BinaryReader.cs: added virtual to Dispose(bool).
1390
1391 2002-08-03  Jason Diamond  <jason@injektilo.org>
1392
1393         * StringWriter.cs: Return UnicodeEncoding for Encoding property.
1394
1395 2002-08-03  Jason Diamond  <jason@injektilo.org>
1396
1397         * StreamWriter.cs: Use GetByteCount() to get exact length instead
1398         of GetMaxByteCount when converting chars to bytes.
1399
1400 2002-07-31  Duncan Mak  <duncan@ximian.com>
1401
1402         * StreamReader.cs: 
1403         (Dispose): Added and implmented.
1404
1405         * StreamWriter.cs: 
1406         (Dispose): Fixed visibility.
1407         (Initialize): Fixed visibility, made internal.
1408
1409         * BinaryReader.cs:
1410         (Dispose): Fixed visibility.
1411
1412 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1413
1414         * File.cs:
1415         (Create): allow file names without path.
1416
1417 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
1418
1419         * FileStream.cs: patch from erik@bagfors.nu to add
1420         Name property support.
1421
1422 2002-07-20  Dick Porter  <dick@ximian.com>
1423
1424         * MonoIO.cs: Added icall to CreatePipe
1425
1426 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1427
1428         * FileInfo.cs: fixes buglet #27940
1429
1430 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1431
1432         * Path.cs: removed unneeded line from GetExtension.
1433
1434 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1435
1436         * FileStream.cs:
1437         (.ctor): call MonoIO.GetException with the file name.
1438
1439 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
1440
1441         * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
1442
1443 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
1444
1445         * StreamReader.cs: Revert the last Peek change and fix the ReadLine
1446         end of line detection code instead.
1447
1448 2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1449
1450         * StreamReader.cs:
1451         (Peek): no need to have seek capabilitites. 
1452
1453 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
1454
1455         * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
1456
1457         * File.cs (Delete): only call Directory.Exists() if DirName != ""
1458
1459 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1460
1461         * Directory.cs: fixed bug #26133 and also test if the directory exist
1462         before performing the search.
1463
1464 2002-06-12  Nick Drochak  <ndrochak@gol.com>
1465
1466         * StringReader.cs (ReadLine): Return null when we get to end of the
1467         string.
1468
1469 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
1470
1471         * StreamWriter.cs: added ability to write null value
1472         
1473 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
1474
1475         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
1476         prevent endless loops.
1477
1478 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
1479
1480         * FileStream.cs: Enforce lower bound on buffer size.
1481
1482 2002-05-16  Piers Haken <piersh@friskit.com>
1483
1484         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
1485
1486 2002-05-17  Nick Drochak  <ndrochak@gol.com>
1487
1488         * StreamWriter.cs: Implement buffering.  Also implemented dispose
1489         pattern as recommended by the MS docs.  Must call Close() now
1490         to ensure the buffer is flushed.
1491
1492 2002-05-15  Nick Drochak  <ndrochak@gol.com>
1493
1494         * Path.cs (GetDirectoryName): Return String.Empty if there is no
1495         directory
1496
1497         * StreamReader.cs: Add some parameter checking on file names.
1498
1499         * StreamWriter.cs: Add some parameter checking on file names.
1500
1501 2002-05-14 Nick Drochak  <ndrochak@gol.com>
1502
1503         * File.cs: Add parameter checks to most methods. Not completely done,
1504         but all current unit tests pass.
1505
1506         * Path.cs: Implement GetTempFileName().
1507
1508 2002-05-10  Nick Drochak  <ndrochak@gol.com>
1509
1510         * StreamWriter.cs (Flush): Throw proper exception if internal stream
1511         has already been closed when we try to flush.
1512
1513 2002/05/10  Nick Drochak <ndrochak@gol.com>
1514
1515         * FileNotFoundException.cs (ToString): Don't try to use the inner
1516         exception, because it might be null.  Use the message instead.
1517
1518 2002-05-09  Nick Drochak  <ndrochak@gol.com>
1519
1520         * File.cs (Delete): Do not throw an exception if the file does not
1521         exist.
1522
1523 2002-05-08  Mike Gray     <mikeg@mikegray.org>
1524
1525         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
1526         should not overwrite dest by default.
1527
1528 2002-05-08  Nick Drochak  <ndrochak@gol.com>
1529
1530         * StreamWriter.cs: Add paramter check to constructors and throw
1531         exceptions where appropriate.
1532
1533 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
1534
1535         * StreamReader.cs: return the number of chars read even if we diddn't
1536         fill the whole buffer (makes Sergey's ilasm work with mono).
1537
1538 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
1539
1540         * FileInfo.cs (Create): Implement missing method.
1541
1542 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
1543
1544         * File.cs: Implemented CreateText method, and fixed dst compares
1545         to compare against "" instead of null twice.
1546
1547 2002-05-05  Nick Drochak  <ndrochak@gol.com>
1548
1549         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
1550         use new internal class since null cannot be passed to constructor 
1551         anymore. Also, fix a coule of small bugs.
1552
1553 2002-05-03  Nick Drochak  <ndrochak@gol.com>
1554
1555         * MemoryStream.cs: Refrain from allocating array until the space is
1556         really needed. This fixes a bug in the Length property when the
1557         constructor without the byte array is used.
1558
1559 2002-05-01  Duncan Mak  <duncan@ximian.com>
1560
1561         * DirectoryNotFoundException.cs (constructor): Added missing
1562         serialization constructor.
1563
1564 2002-04-30  Duncan Mak  <duncan@ximian.com>
1565
1566         * FileLoadException.cs (constructors): Added missing (string,
1567         string) ctor, as well as (string, string, Exception) ctor.
1568
1569         (Message): Added more info to the error message
1570
1571         (ToString): Added. We'll need to add the StackTrace stuff when
1572         that works.
1573
1574         * FileShare.cs: Add a missing field, Inheritable.
1575         
1576         * TextReader.cs: Renamed Synchronised method to Synchronized.
1577
1578         * TextWriter.cs: Renamed Synchronised method to Synchronized.
1579         Renamed protected member coreNewLine to CoreNewLine.
1580
1581 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
1582
1583         * BinaryReader.cs: Allocate buffer before its first use.
1584         Handle end of stream properly. Methods to read native types
1585         (ReadInt* etc.) are little-endian (see Compact Framework docs).
1586
1587         * BinaryWriter.cs: Store data in little-endian format.
1588         Use internal buffer for conversions.
1589
1590 2002-03-31  Dick Porter  <dick@ximian.com>
1591
1592         * Directory.cs: Strip out "." and ".." from returned list
1593
1594         * FileAttributes.cs: Get the right enum values
1595
1596 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
1597
1598         * TextWriter.cs (write): added check for null
1599
1600 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
1601
1602         * Directory.cs: Throws DirectoryNotFoundException.
1603         * MonoIO.cs: Fixed to work around enum problem.
1604
1605 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
1606
1607         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
1608
1609 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
1610
1611         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
1612         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
1613         wrapper and PAL classes.
1614
1615         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
1616
1617 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
1618
1619         * MemoryStream.cs (Read): Fixed bug in exception throw.
1620
1621 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
1622
1623         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
1624
1625 2002-03-23  Martin Baulig  <martin@gnome.org>
1626
1627         * StreamReader.cs: Always do buffered reading, use 4k blocks.
1628         (Read (char[], int, int)): Implemented.
1629         (DiscardBufferedData): Implemented.
1630
1631 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
1632
1633         * StreamReader.cs : Fill out, add buffering, and use encoding.
1634
1635 2002-03-19  Martin Baulig  <martin@gnome.org>
1636
1637         * StreamWriter.cs (StreamWriter (string)): The default is to override
1638         the file, not to append to it.
1639         (StreamWriter (string path, bool append)): When appending, seek to the
1640         end of the file, otherwise truncate the file to zero length.
1641         (Dispose (bool)): Close the internalStream.
1642         (Flush): Flush the interalStream.
1643         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
1644
1645 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
1646
1647         * FileStream.cs: Flush buffer before FileSetLength.
1648
1649 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
1650
1651         * Stream.cs (NullStream): Do not track position, this beast does
1652         nothing in practice.
1653
1654 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
1655
1656         * SearchPattern.cs: New class. Glob matching code for Directory.
1657         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
1658
1659 2002/03/15 Nick Drochak <ndrochak@gol.com>
1660
1661         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
1662         This code seemed to be copied from somewhere, and it was close,
1663         but didn't match the docs.  This was the last bit needed to get
1664         NAnt to compile with our class libs.
1665
1666 2002-03-12  Duncan Mak  <duncan@ximian.com>
1667
1668         * EndOfStreamException.cs:
1669         * FileLoadException.cs:
1670         * FileNotFoundException.cs:
1671         * PathTooLongException.cs: Changed the base classes to IOException
1672         instead of SystemException.
1673
1674         * IOException.cs: Added missing constructors.
1675         
1676 2002-03-07  Nick Drochak  <ndrochak@gol.com>
1677
1678         * FileMode.cs: Docs don't say this should be explicitly derived from
1679         int, so just make it a normal Enum.
1680
1681 2002-03-02  Jason Diamond  <jason@injektilo.org>
1682
1683         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
1684
1685 2002-02-12  Nick Drochak  <ndrochak@gol.com>
1686
1687         * PathTooLongException.cs: put it in the correct namespace
1688         * EndOfStreamException.cs: put it in the correct namespace
1689
1690 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
1691
1692         * Directory.cs: handle opendir() return NULL and absolute filenames.
1693
1694 2002-01-31  Duncan Mak  <duncan@ximian.com>
1695
1696         * FileLoadException.cs:
1697         * FileNotFoundException: Added missing bits for serialization.
1698
1699 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
1700
1701         * Directory.cs: allow directories in GetFiles() mask.
1702
1703 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1704
1705         * FileInfo.c (CopyTo, MoveTo): Implement.
1706
1707         * FileStream.cs: Add argument checking to the constructor.
1708
1709         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
1710         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
1711         
1712         * Directory.cs (Delete): reimplement without using DirectoryInfo.
1713         (Delete): Implement the recursive version.
1714         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
1715         (Move): Reimplement.
1716         (getNames): dead code removal.
1717
1718         * Path.cs: define an internal DirectorySeparatorStr that we use in
1719         a few spots.
1720
1721         * Wrapper.cs: Updated to new version.
1722         
1723         * DirectoryInfo (Delete): Implement using the Directory API.
1724
1725         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
1726         Delete, Create, Parent, Exists, MoveTo): Implement. 
1727
1728         * Directory.cs (GetListing): implement new utility function.
1729         (GetDirectories): Implement.
1730         (GetFileSystemEntries): Implement.
1731         (GetFiles): Implement.
1732
1733         * CheckArgument.cs (Path): Do not allow null by default.
1734
1735 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
1736
1737         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
1738         assembly in corlib.
1739
1740 2002-01-20 Nick Drochak  <ndrochak@gol.com>
1741
1742         * SeekOrigin.cs: Added Serializable attribute.
1743
1744 2002-01-19  Duncan Mak  <duncan@ximian.com>
1745
1746         * PathTooLongException.cs: 
1747         * EndOfStreamException.cs: Added to CVS.
1748
1749 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
1750
1751         * BufferedStream.cs: Initial implemenation.  The synchronous
1752         methods for both reading and writing are implemented.  I'll do the
1753         asynchronous methods in a bit.
1754         
1755 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
1756
1757         * BinaryWriter.cs: Initial implementation.  And it's all there.
1758
1759         * BinaryReader.cs: The constructor now uses the passed in encoding,
1760         not UTF8 always.
1761
1762 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
1763
1764         * BinaryReader.cs: Initial implementation.  I think it's complete.
1765
1766 2002-01-04  Ravi Pratap  <ravi@ximian.com>
1767
1768         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
1769         attribute decorations.
1770
1771         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
1772         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
1773
1774         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
1775         Ditto.
1776
1777 2001-12-11  Dick Porter  <dick@ximian.com>
1778
1779         * FileStream.cs: Use handles rather than casting file descriptors.
1780         Added Handle property.
1781
1782 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
1783
1784         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
1785         * FileStream.cs: only trow an exception if the read failed in ReadByte().
1786         * StreamReader.cs: implement Peek and Read.
1787         * TextWriter.cs: CLSCompliant updates.
1788
1789 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
1790
1791         * FileNotFoundException.cs: Added some constructors
1792
1793         * Path.cs (GetFullPath): Fixed implementation
1794
1795 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
1796
1797         * DirectoryNotFoundException.cs: implemented.
1798
1799 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1800
1801         * File.cs: fix signatures of the Open() and OpenRead() functions
1802         (they are static).
1803
1804 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
1805
1806         * FileLoadException.cs, FileNotFoundException.cs: added.
1807
1808 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
1809
1810         * TextReader.cs: implemented the Read method
1811
1812         * StreamReader.cs: impl. stubs
1813
1814         * StreamWriter.cs: impl.
1815
1816         * TextWriter.cs: implemented Write and WriteLine methods
1817
1818 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1819
1820         * FileAccess.cs, FileMode.cs: change values to be compatible with
1821         the ms ones.
1822         
1823 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
1824
1825         * IOException.cs: Implemented System.IO.Exception.
1826
1827 2001-07-18  Michael Lambert <michaellambert@email.com>
1828
1829         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
1830
1831 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
1832
1833         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
1834         "LAMESPEC", but the tests work against the MS implementation so
1835         the major functions are right (ie. Read/Write/Seek).  Some more
1836         tests required for the various constructors and exceptions.
1837
1838 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
1839
1840         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
1841         New class implemenations.
1842
1843         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.