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