* Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
1 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
2
3         * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
4           fixes bug #53892.
5
6 2004-03-24  Lluis Sanchez Gual  <lluis@ximian.com>
7
8         * File.cs: In Move, throw IOException instead of ArgumentException if destination
9           is a directory.
10         * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
11           ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
12         
13 2004-03-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
14
15         * StreamWriter.cs: Removed unneeded function
16
17 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
18
19         * FileStream.cs: added support for asynchronous I/O without using the
20         OS native libraries if available.
21
22         * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
23
24         * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
25         new parameter to tell ifthe file will be used for asynch operations.
26
27         * Stream.cs: BeginRead/Write do not use delegates. They just are
28         actually synchronous.
29
30         * StreamAsyncResult.cs: IAsyncResult for Stream.
31
32 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
33
34         * Directory.cs: check if the error returned in Exists is different
35         from 'path not found' and throw the appropiate exception in that case.
36         See #55160.
37
38 2004-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
39
40         * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
41
42 2004-02-25  Jackson Harper <jackson@ximian.com>
43
44         * File.cs: Report the filename when deleting a file fails. Patch
45         by Gert Driesen. Fixes bug #54855.
46         
47 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
48
49         * FileStream.cs: remove dangling ^Ms.
50
51 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
52
53         * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
54         Path.GetFullPath crash. Fixed it.
55
56         * MonoIO.cs: fixed typo.
57
58 2004-02-13  Jackson Harper  <jackson@ximian.com>
59
60         * FileStream.cs: Throw some more exceptions for invalid
61         params. Fixes some unit test failures.
62         * BufferedStream.cs: If the stream is closed (can't read from it
63         or write to it) throw an ObjectDisposedException.
64         
65 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
66
67         * StreamWriter.cs, TextWriter.cs: comply with the documented
68         behaviour and use a decode buffer to improve performance.
69
70 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
71
72         * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
73
74 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
75
76         * Path.cs: add the trailing directory separator only for volumes.
77         Fixes bug #53035.
78
79 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
80
81         * IntPtrStream.cs: Fix build bustage.
82         
83         * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
84         the stream is closed.
85
86 2004-01-18 Ben Maurer  <bmaurer@users.sourceforge.net>
87
88         * FileStream.cs: Locking from bug #32344 removed. This is not
89         necessary because the correct fix was actually in the console.
90         This fixes bug #53026. Miguel de Icaza reviewed/approved this
91         patch.
92
93 2004-01-14  Zoltan Varga  <vargaz@freemail.hu>
94
95         * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
96         from small files.
97
98 2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
99
100         * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
101           instead of "c:" . This fixed bug #52735.
102
103 2004-01-04  Nick Drochak <ndrochak@gol.com>
104
105         * Path.cs: Remove defined but unused variable, and also got rid of
106         some unreachable code.  Eliminates some build warnings.
107
108 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
109
110         * BinaryWriter.cs: use one encoding buffer for writing
111         strings rather than allocting one/string. HUGE perf
112         boost when writing many strings.
113
114 2003-12-25  Atsushi Enomoto <atsushi@ximian.com>
115
116         * Path.cs : Fixed GetFullPath() (and CanonicalizePath()), 
117           HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
118
119 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
120
121         * FileStream.cs: (.ctor) do not set handle
122         in object until after it is validated via
123         GetFileType so finalizer doesn't see bad handles and
124         initialize this.handle to InvalidHandle
125
126 2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
127
128         * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
129         not Zero
130
131 2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
132
133         * Directory.cs : SetCurrentDirectory() should raise errors for
134           some kind of arguments.
135
136 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
137
138         * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
139         #52056.
140
141 2003-12-06  Ravindra  <rkumar@novell.com>
142         *MonoIO.cs: Added a new exception case. It is thrown 
143         when a directory creation is attempted with a name that
144         is already used by an existing file.
145
146 2003-11-28  Dick Porter  <dick@ximian.com>
147
148         * Path.cs: Use the char form of LastIndexOf, so that the
149         comparison is done with the Invariant culture.
150
151 2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * Directory.cs: provide the path when getting the IOException.
154
155 2003-11-18  John Luke  <jluke@cfl.rr.com>
156
157         * CheckArgument.cs:
158         (PathLength): fix recursion found by JonK
159         
160 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
161
162         * Directory.cs:
163         (GetCurrentDirectory):
164         (SetCurrentDirectory): moved here from Environment. Handle error cases.
165
166         * MonoIO.cs: add path to the default error message.
167
168 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
169
170         * StringReader.cs: fixed ReadLine for some cases where there are mixed
171         '\r' and '\n'. Closes bug #51020.
172
173 2003-11-14 Ben Maurer  <bmaurer@users.sourceforge.net>
174
175         * MemoryStream.cs (.ctor): We need to check if buffer is null
176         before we get the Length of it.
177
178 2003-11-14  Miguel de Icaza  <miguel@ximian.com>
179
180         * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
181
182 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
183
184         * Directory.cs: allow directory names without wildcards in the pattern.
185         Fixes bug #3 50969.
186
187         * SearchPattern.cs: made InvalidChars and WildcardChars internal.
188
189 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
190
191         * FileStream.cs: use the argument name when throwing exception.
192
193         * StreamReader.cs:
194         * StringReader.cs:
195         * TextReader.cs: added [In] attribute for the array in Read.
196
197 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
198
199         * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
200
201 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
202
203         * Directory.cs: Adjust for missing PlatformID.Unix.
204
205 2003-10-28  Miguel de Icaza  <miguel@ximian.com>
206
207         * StreamReader.cs: Add checks for disposed stream from bug report
208         #48696 (Patrik Reali)
209
210         * TextReader.cs (Read): Return the total number of bytes read, 
211         patch from Patrik Realli.
212
213 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
214
215         * FileStream.cs public FileStream (string name, FileMode mode)
216         constructor: If we pass FileMode.Append, we can not pass
217         FileAccess.ReadWrite.  This fixes bug 44959
218
219 2003-09-26  Miguel de Icaza  <miguel@ximian.com>
220
221         * BufferedStream.cs (Write): Use CanWrite in Write.  Patch from
222         Francisco Figueiredo Jr.
223
224 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
225
226         * BinaryReader.cs: return the correct number of bytes read when there
227         are some bytes from peeking.
228
229 2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
230
231         * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
232           Added [In,Out] attributes to Read method.
233
234 2003-08-05  Martin Baulig  <martin@ximian.com>
235
236         * StreamReader.cs (DiscardBufferedData): Do the same like on the
237         ms runtime: just discard the buffered data, but don't modify the
238         BaseStream.Position.
239
240 2003-08-04  Martin Baulig  <martin@ximian.com>
241
242         * StreamReader.cs (DiscardBufferedData): Implemented.
243
244 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
245
246         * IntPtrStream.cs (Read): Use correct offset here;  Change the
247         code to use a byte* instead of an IntPtr to reduce the number of
248         casts used. 
249
250         (Read): Use Marshal.Copy instead of the now
251         deprecated MemCopy.
252
253         (IntPtrStream): New stream implementation, it maps to a region in
254         memory.
255
256 2003-07-23  Duncan Mak  <duncan@ximian.com>
257
258         * StreamReader.cs (Initialize): This method is not exposed in the
259         API, mark as internal.
260
261 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
262
263         * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
264
265 2003-07-16  Dick Porter  <dick@ximian.com>
266
267         * FileInfo.cs: Update path info when a file is moved.  Patch by
268         John Luke <jluke@cfl.rr.com>, fixes bug 44253.
269
270 2003-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
273
274 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
275
276         * FileStream.cs (Dispose): Flush the buffer even if we don't own the
277         handle.
278         * FileStream.cs: Add a new constructor parameter to turn off buffering.
279         This is used by the Console.OpenStandard...() methods. Also fix
280         argument checking in InitBuffer(), so a zero buffer size is also 
281         rejected.
282
283 2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
284
285         * Stream.cs: use async.delegate invoke 
286
287 2003-06-18  Nick Drochak <ndrochak@gol.com>
288
289         * FileSystemInfo.cs: Refresh cache when changeing file times.
290
291 2003-06-11  Zoltan Varga  <vargaz@freemail.hu>
292
293         * FileStream.cs: Fix errors in previous checkins:
294         (Write): Only take the shortcut route if the data is longer than the
295         buffer length.
296         (Write): Flush the buffer before writing out the new data
297         (Write): Flush the buffer after writing out a segment since otherwise
298         we will go into an infinite loop.
299         (FlushBuffer): Remove my last change since it was clearly wrong.
300         (Seek): Run FlushBuffer () after the in-buffer seek optimization.
301         (Seek): Only use the in-buffer optimization if the buffer is not
302         empty.
303         (Length): Call FlushBuffer () since buffer data might change the size
304         of the stream.
305
306 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
307
308         * FileStream.cs:
309         - removed unusefull bugfix (DirectoryNotFoundException)
310         - Flush before seek.
311         
312 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
313
314         * FileStream.cs: Check buffer size before append/read -exceptios
315         
316 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
317
318         * FileStream.cs: Check DirectoryNotFound before FileNotFound.
319         
320 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
321
322         * FileStream.cs: Does not anymore flush while writing
323         
324 2003-06-02  Nick Drochak <ndrochak@gol.com>
325
326         * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
327         for null too.
328
329 2003-05-27  Lluis Sanchez Gual <lluis@ximian.com>
330
331         * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
332
333 2003-05-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
334
335         * Path.cs: fixed bug #42631.
336
337 2003-05-22  Zoltan Varga  <vargaz@freemail.hu>
338
339         * File.cs (Move): Allow moving of directories.
340         Fix 'destination is a directory' test.
341
342 2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
343
344         * StringWriter.cs: Fixed bug #43431: "StringWriter
345         .ctor(CultureInfo) does not create a new StringBuilder ()"
346
347 2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
348
349         * FileStream.cs (FlushBuffer): After a flush, the buffer is
350         advanced by buf_offset bytes, not buf_length bytes.
351
352 2003-05-16  Dick Porter  <dick@ximian.com>
353
354         * MonoIO.cs: Implement GetTempPath
355
356 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
357
358         * DirectoryInfo.cs: fixed bug #42991.
359         * Path.cs:
360         (CanonicalizePath): store the value of the trimmed input string. Make it
361         work with paths such as "/home/xxx/.".
362
363 2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
364         * Path.cs 
365         (CanonicalizePath) Fixed bug #42631, which duplicated the
366         root part of the path under Windows.
367
368 2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
369
370         * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
371         LastWriteTimeUtc and CreationTimeUtc
372         
373 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
374         * Path.cs 
375         (GetPathRoot) Added support for UNC paths.
376         (CanonicalizePath) Added optimizations per Miguel's requests.
377
378 2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
379
380         * BufferedStream.cs: 
381           - Removed unusefull code.
382           - Added ObjectDisposedException to Position
383           - Dont flush if stream is allready closed.
384           - Flush throws also ObjectDisposedException.
385         * Directory.cs:
386           - GetFileSystemEtries: ArgumentNullException if pattern is null
387         * DirectoryInfo.cs: Fixed little MoveTo () bug.
388         * FileInfo.cs:
389           - Exists: If file does not exists when instance is created the
390           value of the Exists property does not change even if file is created
391           afterwards.
392           - Delete: If path is a directory UnauthorizedException is thrown.
393           - CopyTo: Now we can overwrite file if wanted.
394         * Path.cs: 
395           - GetFullPath: Now throws exception when path is "   ".
396         
397 2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
398         * Directory.cs (GetLogicalDrives) Marked as MonoTODO
399         because we need to implement the method on Windows.
400         * Path.cs 
401         (CanonicalizePath) Added new function to get
402         rid of . and .. in path names. Need to figure out what
403         other functions should call this.
404         (GetFullPath) Added call to the above function.
405         
406 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
407
408         * StreamReader.cs:
409         (.ctor): fixed parameters passed to FileNotFoundException.
410
411 2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
412
413         * BinaryReader.cs (Read): make sure the buffer is big enough (fix
414         bug # 40702)
415
416 2003-04-24  Pedro Martinez Julia  <yoros@wanadoo.es>
417
418         * BufferedStream.cs: Test if it's possible to seek in a Stream
419         before access to Position. This prevents the exception thrown when
420         the stream is System.Net.Sockets.NetworkStream.
421
422 2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
423
424         * Directory.cs: clean up --> performance improvment. Some exceptions
425         are now checked in File.cs.
426         * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
427         
428 2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
429
430         * Directory.cs: lots of fixes. 
431           - Added GetXXXtimeUtc () (v1.1) methods.
432           - Added SetXXXtimeUtc () (v1.1) methods.      
433         
434 2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
435
436         * StringReader.cs (Read): Increment nextChar by charsToRead
437         instead of count, that will guarantee that the next time the
438         method is called, it will return 0 on an empty string rather than
439         throwing an exception
440
441 2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
442
443         * BufferedStream.cs: Some fixes, mostly throwing exceptions.
444         * MemoryStream.cs: Changed the order of exception checking
445         * StringReader.cs: little clean up
446         
447 2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
448
449         * BinaryWriter.cs: Fixed decimal writing and lots of 
450         ObjectDisposedExceptions added.
451         
452 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
453
454         * BinaryReader.cs: Fix to ReadDecimal() method.
455         
456 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
457
458         * StringReader.cs: Added some ObjectDisposedExceptions.
459         * StringWriter.cs: Added some ObjectDisposedExceptions.
460         * BinaryReader.cs: Added some ObjectDisposedExceptions.
461         
462 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
463
464         * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
465         fill a bug report.
466
467 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
468
469         * FileStream.cs: fixed bug #40182 and made more unit test pass.
470
471 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
472
473         * FileStream.cs: Added new methods Lock () and Unlock ()
474         
475 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
476
477         * StringReader.cs: Throws exceptions if constructor parameter is null.
478         
479 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
480
481         * StringWriter.cs: Now throws an exception if StringBuilder parameter
482         is null
483         
484 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
485
486         * TextWriter.cs: Implemented Synchronized method.
487
488         * TextReader.cs: Implemented Synchronized method.
489
490 2003-04-04  Miguel de Icaza  <miguel@ximian.com>
491
492         * FileStream.cs (Read, ReadByte, Seek): throw
493         ObjectDisposedException if the handle has been released.
494         
495         (Read): Throw exceptions specified in the spec.
496
497         (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
498         instance methods of FileStream to be thread safe, so remove all
499         the calls to lock on the object
500
501 2003-03-31  Nick Drochak <ndrochak@gol.com>
502
503         * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
504
505 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
506
507         * FileNotFoundException.cs: fixed serialization bug.
508
509 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
510
511         * StringWriter.cs : don't release internalString on Dispose().
512
513 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
514
515         * StreamReader.cs: fixed bug #39280.
516
517 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
518
519         * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
520         pointing it out.
521
522 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
523
524         * MemoryStream.cs: general fixes and reformatted. Passes all tests in
525         the new MemoryStreamTest.
526
527 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
528
529         * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
530         ToArray even after closing the stream.
531
532 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
533
534         * Directory.cs:
535         (Move): don't use File.Move.
536         * DirectoryInfo.cs: fixed Name property.
537         
538         Fixes bug #37755.
539
540 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
541
542         * DirectoryInfo.cs: changed ToString to match MS behavior.
543         * Path.cs: further fixes to GetDirectoryName to return null in the
544         same cases that MS does.
545
546         Fixes bug #38387.
547
548 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
549
550         * Path.cs: fixed a couple of bugs reported in #35906.
551
552 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
553
554         * Directory.cs: fixed bugs #38939 and #38940. No need for separate
555         unix/windows/unc shares code paths.
556
557 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
558
559         * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
560         SetCreationTime, SetLastAccessTime and SetLastWriteTime.
561
562 2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
563
564         * MemoryStream.cs:
565         (ToArray): return only the portion of the buffer that contains
566         data, not the whole buffer. (note: this makes XmlDocument.Load work
567         again with documents that have a <?xml without the 'encoding'
568         attribute, which makes gtk-sharp generator work again).
569
570 2003-02-25  Nick Drochak <ndrochak@gol.com>
571
572         * File.cs (GetCreationTime): Throw proper execption when path is not
573         found.
574
575 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
576
577         * MemoryStream.cs: make it behave sanely when the stream is
578         incrementally expanded.
579
580 2003-02-21  Dick Porter  <dick@ximian.com>
581
582         * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
583         32344
584
585 2003-02-18  Dick Porter  <dick@ximian.com>
586
587         * FileStream.cs: Make FileMode.Append work, and check for Seeking
588         back over old data (undocumented ms behaviour, throws an exception
589         if you try).  Fixes bug 35975.
590
591 2003-02-17  Dick Porter  <dick@ximian.com>
592
593         * FileStream.cs: Don't close the handle if the stream doesn't own
594         it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
595         35623.
596
597 2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
598
599         * FileStream.cs (Write): flush after writing the last segment as well.
600
601 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
602
603         * StringReader.cs:
604         (ReadLine): fixed the case when the string ends with a '\n'.
605
606 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
607
608         * MemoryStream.cs: create the buffer of the specified capacity.
609
610 2003-01-31  Patrik Torstensson
611
612         * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
613         the same way as MS does it (performance improvement)
614
615 2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
616
617         * Directory.cs (GetFileSystemEntries): moved error handling to the
618         correct instance of GetFileSystemEntries so all callers can enjoy it.
619
620 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
621
622         * File.cs: add error handling to Get...Time methods.
623
624 2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
625
626         * Directory.cs: fix GetParent so it actually works.
627
628 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
629
630         * Path.cs: fixlet to ChangeExtension for the case when the path is
631         empty.
632
633 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
634
635         * BufferedStream.cs: don't try to write a 0 sized array on when
636         flushing the stream.
637         
638         Fixes bug #37045.
639
640 2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
641
642         * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
643
644 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
645
646         * MemoryStream.cs: fixed bug #36319.
647
648 2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
649         
650         * Directory.cs: Some fixes to SMB shares handling, and not compiling 
651         with csc, mcs compiles it correctly (mcs bug 35652)
652
653 2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
654
655         * Directory.cs: Some fixes related to correct some exceptions thrown
656
657 2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
658
659         * Directory.cs: Some Exceptions added, fixed GetParent(),
660         CreateDirectory() should work with unix, native windows and
661         windows samba shares. Converted end-lines from dos-mode to unix-mode
662
663 2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
664
665         * Directory.cs: CreateDirectory  works now with Absolute paths
666         too, not only with relative ones.
667
668 2002-12-07  Peter Williams  <peterw@ximian.com>
669
670         * Directory.cs: Don't use the uninitialized pathsumm here.
671         Don't try and create "" if we're using an absolute path.
672
673 2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
674
675         * Directory.cs: Now the creation of a new directory works recursively
676         it will make parents as needed.
677
678 2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
679
680         * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
681         fixes Flush ().
682
683 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
684
685         * StreamWriter.cs: output the encoding preamble at the start of a
686         stream if needed.
687
688 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
689
690         * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
691
692 2002-11-06  Miguel de Icaza  <miguel@ximian.com>
693
694         * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
695
696 2002-10-31  Dick Porter  <dick@ximian.com>
697
698         * FileStream.cs: Fix buffering properly this time.  Also kludge
699         around broken pipe errors, treating them as EOF instead of
700         throwing an IO exception.
701
702         * MonoIO.cs: Return the error status in a parameter, as the
703         GetLastError() value has long since been blown away if we try and
704         look it up in a subsequent internal call invocation.
705
706         * FileSystemInfo.cs: 
707         * FileInfo.cs: 
708         * File.cs: 
709         * Directory.cs: MonoIO methods now have an error parameter
710
711 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
712
713         * TextReader.cs: implemented ReadBlock ().
714
715 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
716
717         * StreamWriter.cs: Ditto for Null stream.
718
719         * BinaryReader.cs: Use Unmarked here too.
720
721         * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
722         is what .NET does.
723
724 2002-10-23  Dick Porter  <dick@ximian.com>
725
726         * FileStream.cs: Implemented CanSeek, and used it around all the
727         calls to MonoIO.Seek.  Fixed buffering in Read() so that it
728         doesn't block forever on short reads.
729
730         * MonoFileType.cs: New enum for GetFileType
731         
732         * MonoIO.cs: Added GetFileType
733
734 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
735
736         * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
737         \n (this is what MS does).
738
739 2002-10-18  Dick Porter  <dick@ximian.com>
740
741         * FileStream.cs: SeekOrigin.End still calculates the offset from
742         the end of the file with positive values extending the length.
743         Fixes bug 32471.
744
745 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
746
747         * Path.cs: some cleanup. Thanks to Martin Aliger.
748
749 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
750
751         * FileStream.cs: throw an exception if trying to open a directory.
752         Thanks to Martin Aliger.
753
754 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
755
756         * Path.cs: fixes bug #28046.
757
758 2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
759
760         * StreamReader.cs: give more information when wrong parameters passed.
761
762 2002-09-21  Miguel de Icaza  <miguel@ximian.com>
763
764         * FileStream.cs: Do not call FSync on the file.
765
766 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
767
768         * TextWriter.cs (Null): The Null field should be an instance of a
769         TextWriter class that does nothing, so it is an instance of the
770         NullTextWriter class.
771
772 2002-09-16  Nick Drochak  <ndrochak@gol.com>
773
774         * MemoryStream.cs (Close): Don't throw an exception if the stream
775         is already closed.
776
777 2002-09-15  Miguel de Icaza  <miguel@ximian.com>
778
779         * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
780         Flush calls fsync().  
781
782         The API docs show no explicit mention that Flush() should even do
783         an fsync, I am thinking that we should drop that from the
784         runtime. 
785
786 2002-09-09  Miguel de Icaza  <miguel@ximian.com>
787
788         * StreamWriter.cs: When no encoding is provided, create an
789         encoding without markers, this is what MS does.
790
791 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
792
793         * StreamReader.cs: Implement detection of byte marks and skipping
794         of byte marks at the beginning of the stream.
795
796         (ReadToEnd): Use buffered read instead of char-by-char
797         processing. 
798
799         Correct the default arguments for creating the StreamReader.
800
801 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
802
803         * CheckArgument.cs: fixed check for empty string.
804         * Path.cs: various fixes. It passes all the tests in new PathTest.
805
806 2002-08-29  Duncan Mak  <duncan@ximian.com>
807
808         * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
809         the build for gtk#.
810
811 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
812
813         * BinaryReader.cs:
814         * BinaryWriter.cs:
815         * MemoryStream.cs:
816         * StreamReader.cs:
817         * StreamWriter.cs:
818         * StringReader.cs:
819         * StringWriter.cs:
820         * TextWriter.cs: IDisposable fixes.
821
822 2002-08-24  Miguel de Icaza  <miguel@ximian.com>
823
824         * StreamReader.cs: Removed TODOs, as the code seems to be
825         complete. 
826
827         * Path.cs (GetTempFileName): Make this routine atomic by not
828         testing and then creating, but using the create call to ensure
829         that we own the filename.
830
831 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
832
833         * FileLoadException.cs: implemented ToString.
834
835         * StreamWriter.cs: added Null field and implemented Write (char) and
836         Write (char []).
837
838 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
839
840         * StreamReader.cs: implemented NullStreamReader.
841
842 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
843
844         * Path.cs (GetDirectoryName): Fix for filenames with size = 1
845
846         * File.cs: Removed all references that threw exceptions when the
847         paths contains a colon, as this is a valid part of an identifier
848         on Unix.
849
850         Everywhere: The String.Empty return from GetDirectoryName means
851         that there is no directory information about the path.
852
853 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
854
855         * FileNotFoundException.cs: use Message and InnerException from base
856         class. Changed Message and ToString ().
857
858 2002-08-19  Dick Porter  <dick@ximian.com>
859
860         * BinaryWriter.cs: The length of a string is counted in bytes, not
861         chars
862
863 2002-08-18  Dick Porter  <dick@ximian.com>
864
865         * BinaryReader.cs: Fixed buffering
866
867 2002-08-09  Nick Drochak  <ndrochak@gol.com>
868
869         * BinaryReader.cs: added virtual to Dispose(bool).
870
871 2002-08-03  Jason Diamond  <jason@injektilo.org>
872
873         * StringWriter.cs: Return UnicodeEncoding for Encoding property.
874
875 2002-08-03  Jason Diamond  <jason@injektilo.org>
876
877         * StreamWriter.cs: Use GetByteCount() to get exact length instead
878         of GetMaxByteCount when converting chars to bytes.
879
880 2002-07-31  Duncan Mak  <duncan@ximian.com>
881
882         * StreamReader.cs: 
883         (Dispose): Added and implmented.
884
885         * StreamWriter.cs: 
886         (Dispose): Fixed visibility.
887         (Initialize): Fixed visibility, made internal.
888
889         * BinaryReader.cs:
890         (Dispose): Fixed visibility.
891
892 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
893
894         * File.cs:
895         (Create): allow file names without path.
896
897 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
898
899         * FileStream.cs: patch from erik@bagfors.nu to add
900         Name property support.
901
902 2002-07-20  Dick Porter  <dick@ximian.com>
903
904         * MonoIO.cs: Added icall to CreatePipe
905
906 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
907
908         * FileInfo.cs: fixes buglet #27940
909
910 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
911
912         * Path.cs: removed unneeded line from GetExtension.
913
914 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
915
916         * FileStream.cs:
917         (.ctor): call MonoIO.GetException with the file name.
918
919 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
920
921         * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
922
923 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
924
925         * StreamReader.cs: Revert the last Peek change and fix the ReadLine
926         end of line detection code instead.
927
928 2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
929
930         * StreamReader.cs:
931         (Peek): no need to have seek capabilitites. 
932
933 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
934
935         * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
936
937         * File.cs (Delete): only call Directory.Exists() if DirName != ""
938
939 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
940
941         * Directory.cs: fixed bug #26133 and also test if the directory exist
942         before performing the search.
943
944 2002-06-12  Nick Drochak  <ndrochak@gol.com>
945
946         * StringReader.cs (ReadLine): Return null when we get to end of the
947         string.
948
949 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
950
951         * StreamWriter.cs: added ability to write null value
952         
953 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
954
955         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
956         prevent endless loops.
957
958 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
959
960         * FileStream.cs: Enforce lower bound on buffer size.
961
962 2002-05-16  Piers Haken <piersh@friskit.com>
963
964         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
965
966 2002-05-17  Nick Drochak  <ndrochak@gol.com>
967
968         * StreamWriter.cs: Implement buffering.  Also implemented dispose
969         pattern as recommended by the MS docs.  Must call Close() now
970         to ensure the buffer is flushed.
971
972 2002-05-15  Nick Drochak  <ndrochak@gol.com>
973
974         * Path.cs (GetDirectoryName): Return String.Empty if there is no
975         directory
976
977         * StreamReader.cs: Add some parameter checking on file names.
978
979         * StreamWriter.cs: Add some parameter checking on file names.
980
981 2002-05-14 Nick Drochak  <ndrochak@gol.com>
982
983         * File.cs: Add parameter checks to most methods. Not completely done,
984         but all current unit tests pass.
985
986         * Path.cs: Implement GetTempFileName().
987
988 2002-05-10  Nick Drochak  <ndrochak@gol.com>
989
990         * StreamWriter.cs (Flush): Throw proper exception if internal stream
991         has already been closed when we try to flush.
992
993 2002/05/10  Nick Drochak <ndrochak@gol.com>
994
995         * FileNotFoundException.cs (ToString): Don't try to use the inner
996         exception, because it might be null.  Use the message instead.
997
998 2002-05-09  Nick Drochak  <ndrochak@gol.com>
999
1000         * File.cs (Delete): Do not throw an exception if the file does not
1001         exist.
1002
1003 2002-05-08  Mike Gray     <mikeg@mikegray.org>
1004
1005         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
1006         should not overwrite dest by default.
1007
1008 2002-05-08  Nick Drochak  <ndrochak@gol.com>
1009
1010         * StreamWriter.cs: Add paramter check to constructors and throw
1011         exceptions where appropriate.
1012
1013 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
1014
1015         * StreamReader.cs: return the number of chars read even if we diddn't
1016         fill the whole buffer (makes Sergey's ilasm work with mono).
1017
1018 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
1019
1020         * FileInfo.cs (Create): Implement missing method.
1021
1022 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
1023
1024         * File.cs: Implemented CreateText method, and fixed dst compares
1025         to compare against "" instead of null twice.
1026
1027 2002-05-05  Nick Drochak  <ndrochak@gol.com>
1028
1029         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
1030         use new internal class since null cannot be passed to constructor 
1031         anymore. Also, fix a coule of small bugs.
1032
1033 2002-05-03  Nick Drochak  <ndrochak@gol.com>
1034
1035         * MemoryStream.cs: Refrain from allocating array until the space is
1036         really needed. This fixes a bug in the Length property when the
1037         constructor without the byte array is used.
1038
1039 2002-05-01  Duncan Mak  <duncan@ximian.com>
1040
1041         * DirectoryNotFoundException.cs (constructor): Added missing
1042         serialization constructor.
1043
1044 2002-04-30  Duncan Mak  <duncan@ximian.com>
1045
1046         * FileLoadException.cs (constructors): Added missing (string,
1047         string) ctor, as well as (string, string, Exception) ctor.
1048
1049         (Message): Added more info to the error message
1050
1051         (ToString): Added. We'll need to add the StackTrace stuff when
1052         that works.
1053
1054         * FileShare.cs: Add a missing field, Inheritable.
1055         
1056         * TextReader.cs: Renamed Synchronised method to Synchronized.
1057
1058         * TextWriter.cs: Renamed Synchronised method to Synchronized.
1059         Renamed protected member coreNewLine to CoreNewLine.
1060
1061 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
1062
1063         * BinaryReader.cs: Allocate buffer before its first use.
1064         Handle end of stream properly. Methods to read native types
1065         (ReadInt* etc.) are little-endian (see Compact Framework docs).
1066
1067         * BinaryWriter.cs: Store data in little-endian format.
1068         Use internal buffer for conversions.
1069
1070 2002-03-31  Dick Porter  <dick@ximian.com>
1071
1072         * Directory.cs: Strip out "." and ".." from returned list
1073
1074         * FileAttributes.cs: Get the right enum values
1075
1076 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
1077
1078         * TextWriter.cs (write): added check for null
1079
1080 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
1081
1082         * Directory.cs: Throws DirectoryNotFoundException.
1083         * MonoIO.cs: Fixed to work around enum problem.
1084
1085 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
1086
1087         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
1088
1089 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
1090
1091         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
1092         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
1093         wrapper and PAL classes.
1094
1095         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
1096
1097 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
1098
1099         * MemoryStream.cs (Read): Fixed bug in exception throw.
1100
1101 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
1102
1103         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
1104
1105 2002-03-23  Martin Baulig  <martin@gnome.org>
1106
1107         * StreamReader.cs: Always do buffered reading, use 4k blocks.
1108         (Read (char[], int, int)): Implemented.
1109         (DiscardBufferedData): Implemented.
1110
1111 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
1112
1113         * StreamReader.cs : Fill out, add buffering, and use encoding.
1114
1115 2002-03-19  Martin Baulig  <martin@gnome.org>
1116
1117         * StreamWriter.cs (StreamWriter (string)): The default is to override
1118         the file, not to append to it.
1119         (StreamWriter (string path, bool append)): When appending, seek to the
1120         end of the file, otherwise truncate the file to zero length.
1121         (Dispose (bool)): Close the internalStream.
1122         (Flush): Flush the interalStream.
1123         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
1124
1125 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
1126
1127         * FileStream.cs: Flush buffer before FileSetLength.
1128
1129 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
1130
1131         * Stream.cs (NullStream): Do not track position, this beast does
1132         nothing in practice.
1133
1134 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
1135
1136         * SearchPattern.cs: New class. Glob matching code for Directory.
1137         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
1138
1139 2002/03/15 Nick Drochak <ndrochak@gol.com>
1140
1141         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
1142         This code seemed to be copied from somewhere, and it was close,
1143         but didn't match the docs.  This was the last bit needed to get
1144         NAnt to compile with our class libs.
1145
1146 2002-03-12  Duncan Mak  <duncan@ximian.com>
1147
1148         * EndOfStreamException.cs:
1149         * FileLoadException.cs:
1150         * FileNotFoundException.cs:
1151         * PathTooLongException.cs: Changed the base classes to IOException
1152         instead of SystemException.
1153
1154         * IOException.cs: Added missing constructors.
1155         
1156 2002-03-07  Nick Drochak  <ndrochak@gol.com>
1157
1158         * FileMode.cs: Docs don't say this should be explicitly derived from
1159         int, so just make it a normal Enum.
1160
1161 2002-03-02  Jason Diamond  <jason@injektilo.org>
1162
1163         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
1164
1165 2002-02-12  Nick Drochak  <ndrochak@gol.com>
1166
1167         * PathTooLongException.cs: put it in the correct namespace
1168         * EndOfStreamException.cs: put it in the correct namespace
1169
1170 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
1171
1172         * Directory.cs: handle opendir() return NULL and absolute filenames.
1173
1174 2002-01-31  Duncan Mak  <duncan@ximian.com>
1175
1176         * FileLoadException.cs:
1177         * FileNotFoundException: Added missing bits for serialization.
1178
1179 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
1180
1181         * Directory.cs: allow directories in GetFiles() mask.
1182
1183 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1184
1185         * FileInfo.c (CopyTo, MoveTo): Implement.
1186
1187         * FileStream.cs: Add argument checking to the constructor.
1188
1189         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
1190         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
1191         
1192         * Directory.cs (Delete): reimplement without using DirectoryInfo.
1193         (Delete): Implement the recursive version.
1194         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
1195         (Move): Reimplement.
1196         (getNames): dead code removal.
1197
1198         * Path.cs: define an internal DirectorySeparatorStr that we use in
1199         a few spots.
1200
1201         * Wrapper.cs: Updated to new version.
1202         
1203         * DirectoryInfo (Delete): Implement using the Directory API.
1204
1205         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
1206         Delete, Create, Parent, Exists, MoveTo): Implement. 
1207
1208         * Directory.cs (GetListing): implement new utility function.
1209         (GetDirectories): Implement.
1210         (GetFileSystemEntries): Implement.
1211         (GetFiles): Implement.
1212
1213         * CheckArgument.cs (Path): Do not allow null by default.
1214
1215 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
1216
1217         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
1218         assembly in corlib.
1219
1220 2002-01-20 Nick Drochak  <ndrochak@gol.com>
1221
1222         * SeekOrigin.cs: Added Serializable attribute.
1223
1224 2002-01-19  Duncan Mak  <duncan@ximian.com>
1225
1226         * PathTooLongException.cs: 
1227         * EndOfStreamException.cs: Added to CVS.
1228
1229 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
1230
1231         * BufferedStream.cs: Initial implemenation.  The synchronous
1232         methods for both reading and writing are implemented.  I'll do the
1233         asynchronous methods in a bit.
1234         
1235 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
1236
1237         * BinaryWriter.cs: Initial implementation.  And it's all there.
1238
1239         * BinaryReader.cs: The constructor now uses the passed in encoding,
1240         not UTF8 always.
1241
1242 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
1243
1244         * BinaryReader.cs: Initial implementation.  I think it's complete.
1245
1246 2002-01-04  Ravi Pratap  <ravi@ximian.com>
1247
1248         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
1249         attribute decorations.
1250
1251         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
1252         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
1253
1254         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
1255         Ditto.
1256
1257 2001-12-11  Dick Porter  <dick@ximian.com>
1258
1259         * FileStream.cs: Use handles rather than casting file descriptors.
1260         Added Handle property.
1261
1262 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
1263
1264         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
1265         * FileStream.cs: only trow an exception if the read failed in ReadByte().
1266         * StreamReader.cs: implement Peek and Read.
1267         * TextWriter.cs: CLSCompliant updates.
1268
1269 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
1270
1271         * FileNotFoundException.cs: Added some constructors
1272
1273         * Path.cs (GetFullPath): Fixed implementation
1274
1275 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
1276
1277         * DirectoryNotFoundException.cs: implemented.
1278
1279 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
1280
1281         * File.cs: fix signatures of the Open() and OpenRead() functions
1282         (they are static).
1283
1284 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
1285
1286         * FileLoadException.cs, FileNotFoundException.cs: added.
1287
1288 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
1289
1290         * TextReader.cs: implemented the Read method
1291
1292         * StreamReader.cs: impl. stubs
1293
1294         * StreamWriter.cs: impl.
1295
1296         * TextWriter.cs: implemented Write and WriteLine methods
1297
1298 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1299
1300         * FileAccess.cs, FileMode.cs: change values to be compatible with
1301         the ms ones.
1302         
1303 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
1304
1305         * IOException.cs: Implemented System.IO.Exception.
1306
1307 2001-07-18  Michael Lambert <michaellambert@email.com>
1308
1309         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
1310
1311 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
1312
1313         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
1314         "LAMESPEC", but the tests work against the MS implementation so
1315         the major functions are right (ie. Read/Write/Seek).  Some more
1316         tests required for the various constructors and exceptions.
1317
1318 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
1319
1320         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
1321         New class implemenations.
1322
1323         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.