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