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