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