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