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