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