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