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