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