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