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