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