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