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