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