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