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