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