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