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