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