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