2003-05-21 Ben Maurer <bmaurer@users.sourceforge.net>
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
1 2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
2
3         * StringWriter.cs: Fixed bug #43431: "StringWriter
4         .ctor(CultureInfo) does not create a new StringBuilder ()"
5         
6 2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
7
8         * FileStream.cs (FlushBuffer): After a flush, the buffer is
9         advanced by buf_offset bytes, not buf_length bytes.
10
11 2003-05-16  Dick Porter  <dick@ximian.com>
12
13         * MonoIO.cs: Implement GetTempPath
14
15 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
16
17         * DirectoryInfo.cs: fixed bug #42991.
18         * Path.cs:
19         (CanonicalizePath): store the value of the trimmed input string. Make it
20         work with paths such as "/home/xxx/.".
21
22 2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
23         * Path.cs 
24         (CanonicalizePath) Fixed bug #42631, which duplicated the
25         root part of the path under Windows.
26
27 2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
28
29         * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
30         LastWriteTimeUtc and CreationTimeUtc
31         
32 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
33         * Path.cs 
34         (GetPathRoot) Added support for UNC paths.
35         (CanonicalizePath) Added optimizations per Miguel's requests.
36
37 2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
38
39         * BufferedStream.cs: 
40           - Removed unusefull code.
41           - Added ObjectDisposedException to Position
42           - Dont flush if stream is allready closed.
43           - Flush throws also ObjectDisposedException.
44         * Directory.cs:
45           - GetFileSystemEtries: ArgumentNullException if pattern is null
46         * DirectoryInfo.cs: Fixed little MoveTo () bug.
47         * FileInfo.cs:
48           - Exists: If file does not exists when instance is created the
49           value of the Exists property does not change even if file is created
50           afterwards.
51           - Delete: If path is a directory UnauthorizedException is thrown.
52           - CopyTo: Now we can overwrite file if wanted.
53         * Path.cs: 
54           - GetFullPath: Now throws exception when path is "   ".
55         
56 2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
57         * Directory.cs (GetLogicalDrives) Marked as MonoTODO
58         because we need to implement the method on Windows.
59         * Path.cs 
60         (CanonicalizePath) Added new function to get
61         rid of . and .. in path names. Need to figure out what
62         other functions should call this.
63         (GetFullPath) Added call to the above function.
64         
65 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
66
67         * StreamReader.cs:
68         (.ctor): fixed parameters passed to FileNotFoundException.
69
70 2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
71
72         * BinaryReader.cs (Read): make sure the buffer is big enough (fix
73         bug # 40702)
74
75 2003-04-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
76
77         * BufferedStream.cs: Test if it's possible to seek in a Stream
78         before access to Position. This prevents the exception thrown when
79         the stream is System.Net.Sockets.NetworkStream.
80
81 2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
82
83         * Directory.cs: clean up --> performance improvment. Some exceptions
84         are now checked in File.cs.
85         * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
86         
87 2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
88
89         * Directory.cs: lots of fixes. 
90           - Added GetXXXtimeUtc () (v1.1) methods.
91           - Added SetXXXtimeUtc () (v1.1) methods.      
92         
93 2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
94
95         * StringReader.cs (Read): Increment nextChar by charsToRead
96         instead of count, that will guarantee that the next time the
97         method is called, it will return 0 on an empty string rather than
98         throwing an exception
99
100 2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
101
102         * BufferedStream.cs: Some fixes, mostly throwing exceptions.
103         * MemoryStream.cs: Changed the order of exception checking
104         * StringReader.cs: little clean up
105         
106 2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
107
108         * BinaryWriter.cs: Fixed decimal writing and lots of 
109         ObjectDisposedExceptions added.
110         
111 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
112
113         * BinaryReader.cs: Fix to ReadDecimal() method.
114         
115 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
116
117         * StringReader.cs: Added some ObjectDisposedExceptions.
118         * StringWriter.cs: Added some ObjectDisposedExceptions.
119         * BinaryReader.cs: Added some ObjectDisposedExceptions.
120         
121 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
122
123         * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
124         fill a bug report.
125
126 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
127
128         * FileStream.cs: fixed bug #40182 and made more unit test pass.
129
130 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
131
132         * FileStream.cs: Added new methods Lock () and Unlock ()
133         
134 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
135
136         * StringReader.cs: Throws exceptions if constructor parameter is null.
137         
138 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
139
140         * StringWriter.cs: Now throws an exception if StringBuilder parameter
141         is null
142         
143 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
144
145         * TextWriter.cs: Implemented Synchronized method.
146
147         * TextReader.cs: Implemented Synchronized method.
148
149 2003-04-04  Miguel de Icaza  <miguel@ximian.com>
150
151         * FileStream.cs (Read, ReadByte, Seek): throw
152         ObjectDisposedException if the handle has been released.
153         
154         (Read): Throw exceptions specified in the spec.
155
156         (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
157         instance methods of FileStream to be thread safe, so remove all
158         the calls to lock on the object
159
160 2003-03-31  Nick Drochak <ndrochak@gol.com>
161
162         * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
163
164 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
165
166         * FileNotFoundException.cs: fixed serialization bug.
167
168 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
169
170         * StringWriter.cs : don't release internalString on Dispose().
171
172 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
173
174         * StreamReader.cs: fixed bug #39280.
175
176 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
177
178         * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
179         pointing it out.
180
181 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
182
183         * MemoryStream.cs: general fixes and reformatted. Passes all tests in
184         the new MemoryStreamTest.
185
186 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
187
188         * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
189         ToArray even after closing the stream.
190
191 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
192
193         * Directory.cs:
194         (Move): don't use File.Move.
195         * DirectoryInfo.cs: fixed Name property.
196         
197         Fixes bug #37755.
198
199 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
200
201         * DirectoryInfo.cs: changed ToString to match MS behavior.
202         * Path.cs: further fixes to GetDirectoryName to return null in the
203         same cases that MS does.
204
205         Fixes bug #38387.
206
207 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
208
209         * Path.cs: fixed a couple of bugs reported in #35906.
210
211 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
212
213         * Directory.cs: fixed bugs #38939 and #38940. No need for separate
214         unix/windows/unc shares code paths.
215
216 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
217
218         * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
219         SetCreationTime, SetLastAccessTime and SetLastWriteTime.
220
221 2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
222
223         * MemoryStream.cs:
224         (ToArray): return only the portion of the buffer that contains
225         data, not the whole buffer. (note: this makes XmlDocument.Load work
226         again with documents that have a <?xml without the 'encoding'
227         attribute, which makes gtk-sharp generator work again).
228
229 2003-02-25  Nick Drochak <ndrochak@gol.com>
230
231         * File.cs (GetCreationTime): Throw proper execption when path is not
232         found.
233
234 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
235
236         * MemoryStream.cs: make it behave sanely when the stream is
237         incrementally expanded.
238
239 2003-02-21  Dick Porter  <dick@ximian.com>
240
241         * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
242         32344
243
244 2003-02-18  Dick Porter  <dick@ximian.com>
245
246         * FileStream.cs: Make FileMode.Append work, and check for Seeking
247         back over old data (undocumented ms behaviour, throws an exception
248         if you try).  Fixes bug 35975.
249
250 2003-02-17  Dick Porter  <dick@ximian.com>
251
252         * FileStream.cs: Don't close the handle if the stream doesn't own
253         it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
254         35623.
255
256 2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
257
258         * FileStream.cs (Write): flush after writing the last segment as well.
259
260 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
261
262         * StringReader.cs:
263         (ReadLine): fixed the case when the string ends with a '\n'.
264
265 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
266
267         * MemoryStream.cs: create the buffer of the specified capacity.
268
269 2003-01-31  Patrik Torstensson
270
271         * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
272         the same way as MS does it (performance improvement)
273
274 2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
275
276         * Directory.cs (GetFileSystemEntries): moved error handling to the
277         correct instance of GetFileSystemEntries so all callers can enjoy it.
278
279 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
280
281         * File.cs: add error handling to Get...Time methods.
282
283 2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
284
285         * Directory.cs: fix GetParent so it actually works.
286
287 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
288
289         * Path.cs: fixlet to ChangeExtension for the case when the path is
290         empty.
291
292 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
293
294         * BufferedStream.cs: don't try to write a 0 sized array on when
295         flushing the stream.
296         
297         Fixes bug #37045.
298
299 2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
300
301         * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
302
303 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
304
305         * MemoryStream.cs: fixed bug #36319.
306
307 2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
308         
309         * Directory.cs: Some fixes to SMB shares handling, and not compiling 
310         with csc, mcs compiles it correctly (mcs bug 35652)
311
312 2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
313
314         * Directory.cs: Some fixes related to correct some exceptions thrown
315
316 2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
317
318         * Directory.cs: Some Exceptions added, fixed GetParent(),
319         CreateDirectory() should work with unix, native windows and
320         windows samba shares. Converted end-lines from dos-mode to unix-mode
321
322 2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
323
324         * Directory.cs: CreateDirectory  works now with Absolute paths
325         too, not only with relative ones.
326
327 2002-12-07  Peter Williams  <peterw@ximian.com>
328
329         * Directory.cs: Don't use the uninitialized pathsumm here.
330         Don't try and create "" if we're using an absolute path.
331
332 2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
333
334         * Directory.cs: Now the creation of a new directory works recursively
335         it will make parents as needed.
336
337 2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
338
339         * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
340         fixes Flush ().
341
342 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
343
344         * StreamWriter.cs: output the encoding preamble at the start of a
345         stream if needed.
346
347 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
348
349         * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
350
351 2002-11-06  Miguel de Icaza  <miguel@ximian.com>
352
353         * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
354
355 2002-10-31  Dick Porter  <dick@ximian.com>
356
357         * FileStream.cs: Fix buffering properly this time.  Also kludge
358         around broken pipe errors, treating them as EOF instead of
359         throwing an IO exception.
360
361         * MonoIO.cs: Return the error status in a parameter, as the
362         GetLastError() value has long since been blown away if we try and
363         look it up in a subsequent internal call invocation.
364
365         * FileSystemInfo.cs: 
366         * FileInfo.cs: 
367         * File.cs: 
368         * Directory.cs: MonoIO methods now have an error parameter
369
370 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
371
372         * TextReader.cs: implemented ReadBlock ().
373
374 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
375
376         * StreamWriter.cs: Ditto for Null stream.
377
378         * BinaryReader.cs: Use Unmarked here too.
379
380         * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
381         is what .NET does.
382
383 2002-10-23  Dick Porter  <dick@ximian.com>
384
385         * FileStream.cs: Implemented CanSeek, and used it around all the
386         calls to MonoIO.Seek.  Fixed buffering in Read() so that it
387         doesn't block forever on short reads.
388
389         * MonoFileType.cs: New enum for GetFileType
390         
391         * MonoIO.cs: Added GetFileType
392
393 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
394
395         * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
396         \n (this is what MS does).
397
398 2002-10-18  Dick Porter  <dick@ximian.com>
399
400         * FileStream.cs: SeekOrigin.End still calculates the offset from
401         the end of the file with positive values extending the length.
402         Fixes bug 32471.
403
404 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
405
406         * Path.cs: some cleanup. Thanks to Martin Aliger.
407
408 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
409
410         * FileStream.cs: throw an exception if trying to open a directory.
411         Thanks to Martin Aliger.
412
413 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
414
415         * Path.cs: fixes bug #28046.
416
417 2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
418
419         * StreamReader.cs: give more information when wrong parameters passed.
420
421 2002-09-21  Miguel de Icaza  <miguel@ximian.com>
422
423         * FileStream.cs: Do not call FSync on the file.
424
425 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
426
427         * TextWriter.cs (Null): The Null field should be an instance of a
428         TextWriter class that does nothing, so it is an instance of the
429         NullTextWriter class.
430
431 2002-09-16  Nick Drochak  <ndrochak@gol.com>
432
433         * MemoryStream.cs (Close): Don't throw an exception if the stream
434         is already closed.
435
436 2002-09-15  Miguel de Icaza  <miguel@ximian.com>
437
438         * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
439         Flush calls fsync().  
440
441         The API docs show no explicit mention that Flush() should even do
442         an fsync, I am thinking that we should drop that from the
443         runtime. 
444
445 2002-09-09  Miguel de Icaza  <miguel@ximian.com>
446
447         * StreamWriter.cs: When no encoding is provided, create an
448         encoding without markers, this is what MS does.
449
450 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
451
452         * StreamReader.cs: Implement detection of byte marks and skipping
453         of byte marks at the beginning of the stream.
454
455         (ReadToEnd): Use buffered read instead of char-by-char
456         processing. 
457
458         Correct the default arguments for creating the StreamReader.
459
460 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
461
462         * CheckArgument.cs: fixed check for empty string.
463         * Path.cs: various fixes. It passes all the tests in new PathTest.
464
465 2002-08-29  Duncan Mak  <duncan@ximian.com>
466
467         * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
468         the build for gtk#.
469
470 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
471
472         * BinaryReader.cs:
473         * BinaryWriter.cs:
474         * MemoryStream.cs:
475         * StreamReader.cs:
476         * StreamWriter.cs:
477         * StringReader.cs:
478         * StringWriter.cs:
479         * TextWriter.cs: IDisposable fixes.
480
481 2002-08-24  Miguel de Icaza  <miguel@ximian.com>
482
483         * StreamReader.cs: Removed TODOs, as the code seems to be
484         complete. 
485
486         * Path.cs (GetTempFileName): Make this routine atomic by not
487         testing and then creating, but using the create call to ensure
488         that we own the filename.
489
490 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
491
492         * FileLoadException.cs: implemented ToString.
493
494         * StreamWriter.cs: added Null field and implemented Write (char) and
495         Write (char []).
496
497 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
498
499         * StreamReader.cs: implemented NullStreamReader.
500
501 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
502
503         * Path.cs (GetDirectoryName): Fix for filenames with size = 1
504
505         * File.cs: Removed all references that threw exceptions when the
506         paths contains a colon, as this is a valid part of an identifier
507         on Unix.
508
509         Everywhere: The String.Empty return from GetDirectoryName means
510         that there is no directory information about the path.
511
512 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
513
514         * FileNotFoundException.cs: use Message and InnerException from base
515         class. Changed Message and ToString ().
516
517 2002-08-19  Dick Porter  <dick@ximian.com>
518
519         * BinaryWriter.cs: The length of a string is counted in bytes, not
520         chars
521
522 2002-08-18  Dick Porter  <dick@ximian.com>
523
524         * BinaryReader.cs: Fixed buffering
525
526 2002-08-09  Nick Drochak  <ndrochak@gol.com>
527
528         * BinaryReader.cs: added virtual to Dispose(bool).
529
530 2002-08-03  Jason Diamond  <jason@injektilo.org>
531
532         * StringWriter.cs: Return UnicodeEncoding for Encoding property.
533
534 2002-08-03  Jason Diamond  <jason@injektilo.org>
535
536         * StreamWriter.cs: Use GetByteCount() to get exact length instead
537         of GetMaxByteCount when converting chars to bytes.
538
539 2002-07-31  Duncan Mak  <duncan@ximian.com>
540
541         * StreamReader.cs: 
542         (Dispose): Added and implmented.
543
544         * StreamWriter.cs: 
545         (Dispose): Fixed visibility.
546         (Initialize): Fixed visibility, made internal.
547
548         * BinaryReader.cs:
549         (Dispose): Fixed visibility.
550
551 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
552
553         * File.cs:
554         (Create): allow file names without path.
555
556 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
557
558         * FileStream.cs: patch from erik@bagfors.nu to add
559         Name property support.
560
561 2002-07-20  Dick Porter  <dick@ximian.com>
562
563         * MonoIO.cs: Added icall to CreatePipe
564
565 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
566
567         * FileInfo.cs: fixes buglet #27940
568
569 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
570
571         * Path.cs: removed unneeded line from GetExtension.
572
573 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
574
575         * FileStream.cs:
576         (.ctor): call MonoIO.GetException with the file name.
577
578 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
579
580         * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
581
582 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
583
584         * StreamReader.cs: Revert the last Peek change and fix the ReadLine
585         end of line detection code instead.
586
587 2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
588
589         * StreamReader.cs:
590         (Peek): no need to have seek capabilitites. 
591
592 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
593
594         * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
595
596         * File.cs (Delete): only call Directory.Exists() if DirName != ""
597
598 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
599
600         * Directory.cs: fixed bug #26133 and also test if the directory exist
601         before performing the search.
602
603 2002-06-12  Nick Drochak  <ndrochak@gol.com>
604
605         * StringReader.cs (ReadLine): Return null when we get to end of the
606         string.
607
608 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
609
610         * StreamWriter.cs: added ability to write null value
611         
612 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
613
614         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
615         prevent endless loops.
616
617 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
618
619         * FileStream.cs: Enforce lower bound on buffer size.
620
621 2002-05-16  Piers Haken <piersh@friskit.com>
622
623         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
624
625 2002-05-17  Nick Drochak  <ndrochak@gol.com>
626
627         * StreamWriter.cs: Implement buffering.  Also implemented dispose
628         pattern as recommended by the MS docs.  Must call Close() now
629         to ensure the buffer is flushed.
630
631 2002-05-15  Nick Drochak  <ndrochak@gol.com>
632
633         * Path.cs (GetDirectoryName): Return String.Empty if there is no
634         directory
635
636         * StreamReader.cs: Add some parameter checking on file names.
637
638         * StreamWriter.cs: Add some parameter checking on file names.
639
640 2002-05-14 Nick Drochak  <ndrochak@gol.com>
641
642         * File.cs: Add parameter checks to most methods. Not completely done,
643         but all current unit tests pass.
644
645         * Path.cs: Implement GetTempFileName().
646
647 2002-05-10  Nick Drochak  <ndrochak@gol.com>
648
649         * StreamWriter.cs (Flush): Throw proper exception if internal stream
650         has already been closed when we try to flush.
651
652 2002/05/10  Nick Drochak <ndrochak@gol.com>
653
654         * FileNotFoundException.cs (ToString): Don't try to use the inner
655         exception, because it might be null.  Use the message instead.
656
657 2002-05-09  Nick Drochak  <ndrochak@gol.com>
658
659         * File.cs (Delete): Do not throw an exception if the file does not
660         exist.
661
662 2002-05-08  Mike Gray     <mikeg@mikegray.org>
663
664         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
665         should not overwrite dest by default.
666
667 2002-05-08  Nick Drochak  <ndrochak@gol.com>
668
669         * StreamWriter.cs: Add paramter check to constructors and throw
670         exceptions where appropriate.
671
672 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
673
674         * StreamReader.cs: return the number of chars read even if we diddn't
675         fill the whole buffer (makes Sergey's ilasm work with mono).
676
677 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
678
679         * FileInfo.cs (Create): Implement missing method.
680
681 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
682
683         * File.cs: Implemented CreateText method, and fixed dst compares
684         to compare against "" instead of null twice.
685
686 2002-05-05  Nick Drochak  <ndrochak@gol.com>
687
688         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
689         use new internal class since null cannot be passed to constructor 
690         anymore. Also, fix a coule of small bugs.
691
692 2002-05-03  Nick Drochak  <ndrochak@gol.com>
693
694         * MemoryStream.cs: Refrain from allocating array until the space is
695         really needed. This fixes a bug in the Length property when the
696         constructor without the byte array is used.
697
698 2002-05-01  Duncan Mak  <duncan@ximian.com>
699
700         * DirectoryNotFoundException.cs (constructor): Added missing
701         serialization constructor.
702
703 2002-04-30  Duncan Mak  <duncan@ximian.com>
704
705         * FileLoadException.cs (constructors): Added missing (string,
706         string) ctor, as well as (string, string, Exception) ctor.
707
708         (Message): Added more info to the error message
709
710         (ToString): Added. We'll need to add the StackTrace stuff when
711         that works.
712
713         * FileShare.cs: Add a missing field, Inheritable.
714         
715         * TextReader.cs: Renamed Synchronised method to Synchronized.
716
717         * TextWriter.cs: Renamed Synchronised method to Synchronized.
718         Renamed protected member coreNewLine to CoreNewLine.
719
720 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
721
722         * BinaryReader.cs: Allocate buffer before its first use.
723         Handle end of stream properly. Methods to read native types
724         (ReadInt* etc.) are little-endian (see Compact Framework docs).
725
726         * BinaryWriter.cs: Store data in little-endian format.
727         Use internal buffer for conversions.
728
729 2002-03-31  Dick Porter  <dick@ximian.com>
730
731         * Directory.cs: Strip out "." and ".." from returned list
732
733         * FileAttributes.cs: Get the right enum values
734
735 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
736
737         * TextWriter.cs (write): added check for null
738
739 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
740
741         * Directory.cs: Throws DirectoryNotFoundException.
742         * MonoIO.cs: Fixed to work around enum problem.
743
744 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
745
746         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
747
748 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
749
750         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
751         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
752         wrapper and PAL classes.
753
754         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
755
756 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
757
758         * MemoryStream.cs (Read): Fixed bug in exception throw.
759
760 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
761
762         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
763
764 2002-03-23  Martin Baulig  <martin@gnome.org>
765
766         * StreamReader.cs: Always do buffered reading, use 4k blocks.
767         (Read (char[], int, int)): Implemented.
768         (DiscardBufferedData): Implemented.
769
770 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
771
772         * StreamReader.cs : Fill out, add buffering, and use encoding.
773
774 2002-03-19  Martin Baulig  <martin@gnome.org>
775
776         * StreamWriter.cs (StreamWriter (string)): The default is to override
777         the file, not to append to it.
778         (StreamWriter (string path, bool append)): When appending, seek to the
779         end of the file, otherwise truncate the file to zero length.
780         (Dispose (bool)): Close the internalStream.
781         (Flush): Flush the interalStream.
782         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
783
784 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
785
786         * FileStream.cs: Flush buffer before FileSetLength.
787
788 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
789
790         * Stream.cs (NullStream): Do not track position, this beast does
791         nothing in practice.
792
793 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
794
795         * SearchPattern.cs: New class. Glob matching code for Directory.
796         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
797
798 2002/03/15 Nick Drochak <ndrochak@gol.com>
799
800         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
801         This code seemed to be copied from somewhere, and it was close,
802         but didn't match the docs.  This was the last bit needed to get
803         NAnt to compile with our class libs.
804
805 2002-03-12  Duncan Mak  <duncan@ximian.com>
806
807         * EndOfStreamException.cs:
808         * FileLoadException.cs:
809         * FileNotFoundException.cs:
810         * PathTooLongException.cs: Changed the base classes to IOException
811         instead of SystemException.
812
813         * IOException.cs: Added missing constructors.
814         
815 2002-03-07  Nick Drochak  <ndrochak@gol.com>
816
817         * FileMode.cs: Docs don't say this should be explicitly derived from
818         int, so just make it a normal Enum.
819
820 2002-03-02  Jason Diamond  <jason@injektilo.org>
821
822         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
823
824 2002-02-12  Nick Drochak  <ndrochak@gol.com>
825
826         * PathTooLongException.cs: put it in the correct namespace
827         * EndOfStreamException.cs: put it in the correct namespace
828
829 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
830
831         * Directory.cs: handle opendir() return NULL and absolute filenames.
832
833 2002-01-31  Duncan Mak  <duncan@ximian.com>
834
835         * FileLoadException.cs:
836         * FileNotFoundException: Added missing bits for serialization.
837
838 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
839
840         * Directory.cs: allow directories in GetFiles() mask.
841
842 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
843
844         * FileInfo.c (CopyTo, MoveTo): Implement.
845
846         * FileStream.cs: Add argument checking to the constructor.
847
848         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
849         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
850         
851         * Directory.cs (Delete): reimplement without using DirectoryInfo.
852         (Delete): Implement the recursive version.
853         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
854         (Move): Reimplement.
855         (getNames): dead code removal.
856
857         * Path.cs: define an internal DirectorySeparatorStr that we use in
858         a few spots.
859
860         * Wrapper.cs: Updated to new version.
861         
862         * DirectoryInfo (Delete): Implement using the Directory API.
863
864         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
865         Delete, Create, Parent, Exists, MoveTo): Implement. 
866
867         * Directory.cs (GetListing): implement new utility function.
868         (GetDirectories): Implement.
869         (GetFileSystemEntries): Implement.
870         (GetFiles): Implement.
871
872         * CheckArgument.cs (Path): Do not allow null by default.
873
874 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
875
876         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
877         assembly in corlib.
878
879 2002-01-20 Nick Drochak  <ndrochak@gol.com>
880
881         * SeekOrigin.cs: Added Serializable attribute.
882
883 2002-01-19  Duncan Mak  <duncan@ximian.com>
884
885         * PathTooLongException.cs: 
886         * EndOfStreamException.cs: Added to CVS.
887
888 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
889
890         * BufferedStream.cs: Initial implemenation.  The synchronous
891         methods for both reading and writing are implemented.  I'll do the
892         asynchronous methods in a bit.
893         
894 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
895
896         * BinaryWriter.cs: Initial implementation.  And it's all there.
897
898         * BinaryReader.cs: The constructor now uses the passed in encoding,
899         not UTF8 always.
900
901 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
902
903         * BinaryReader.cs: Initial implementation.  I think it's complete.
904
905 2002-01-04  Ravi Pratap  <ravi@ximian.com>
906
907         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
908         attribute decorations.
909
910         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
911         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
912
913         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
914         Ditto.
915
916 2001-12-11  Dick Porter  <dick@ximian.com>
917
918         * FileStream.cs: Use handles rather than casting file descriptors.
919         Added Handle property.
920
921 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
922
923         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
924         * FileStream.cs: only trow an exception if the read failed in ReadByte().
925         * StreamReader.cs: implement Peek and Read.
926         * TextWriter.cs: CLSCompliant updates.
927
928 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
929
930         * FileNotFoundException.cs: Added some constructors
931
932         * Path.cs (GetFullPath): Fixed implementation
933
934 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
935
936         * DirectoryNotFoundException.cs: implemented.
937
938 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
939
940         * File.cs: fix signatures of the Open() and OpenRead() functions
941         (they are static).
942
943 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
944
945         * FileLoadException.cs, FileNotFoundException.cs: added.
946
947 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
948
949         * TextReader.cs: implemented the Read method
950
951         * StreamReader.cs: impl. stubs
952
953         * StreamWriter.cs: impl.
954
955         * TextWriter.cs: implemented Write and WriteLine methods
956
957 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
958
959         * FileAccess.cs, FileMode.cs: change values to be compatible with
960         the ms ones.
961         
962 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
963
964         * IOException.cs: Implemented System.IO.Exception.
965
966 2001-07-18  Michael Lambert <michaellambert@email.com>
967
968         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
969
970 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
971
972         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
973         "LAMESPEC", but the tests work against the MS implementation so
974         the major functions are right (ie. Read/Write/Seek).  Some more
975         tests required for the various constructors and exceptions.
976
977 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
978
979         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
980         New class implemenations.
981
982         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.
983