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