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