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