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