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