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