get Miguel's patch back in, without cloning the serialization info
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
1 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2
3         * DriveInfo.cs: Fix compiler warning
4
5 2008-05-07  Sebastien Pouliot  <sebastien@ximian.com>
6
7         * CheckArgument.cs: Removed. Lots of unused code. The two methods
8         used are now inlined into Path.cs
9         * CheckPermission.cs: Removed. Lots of unused code.
10         * Path.cs: Inlined two checks.
11         [Found using Gendarme]
12
13 2008-04-18  Sebastien Pouliot  <sebastien@ximian.com>
14
15         * Path.cs: Change PathSeparatorChars from private to internal since
16         it's needed for IsolatedStorage.
17
18 2008-04-17  Gert Driesen  <drieseng@users.sourceforge.net>
19
20         * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
21         indicates whether the original path should only container the last
22         part of the directory. Moved logic for determining the Name and
23         Parent to Initialize method, to allow it to be re-used on
24         deserialization. Renamed argument names to fix corcompare issues.
25         Added missing argument checks.
26         * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
27         DirectoryInfo to ensure OriginalPath only contains last part of
28         the directory. 
29         * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
30         FileOptions to FileStream. Removed redundant directory check from
31         Delete and modified exceptions to more closely match MS.
32         * FileInfo.cs: Added argument check to ctor to match MS. Added missing
33         deserialization ctor. Modified argument checks in MoveTo, and removed
34         redundant checks. Added missing argument checks in CopyTo. Code
35         formatting.
36         * FileSystemInfo.cs: Modified argument checks in CheckPath to more
37         closely match MS.
38         * MonoIO.cs: Added msg that does not disclose filename for 
39         ERROR_FILE_EXISTS. 
40         * Path.cs: Use String.Length instead of comparing with String.Empty.
41         Removed exceptions argument names to match MS.
42
43 2008-04-16  Gert Driesen  <drieseng@users.sourceforge.net>
44
45         * File.cs: Changed argument names and thrown exception to better match
46         .NET. Use String.Length instead of comparison with empty string.
47         * DirectoryInfo.cs: Added missing deserialization ctor.
48
49 2008-04-04  Dick Porter  <dick@ximian.com>
50
51         * File.cs: Pretty up the file share exception with the path name.
52
53 2008-03-28  Sebastien Pouliot  <sebastien@ximian.com>
54
55         * Directory.cs: Exception differs when deleting a directory if it 
56         does not exists or if a file of the same name exists. Also don't 
57         include path in exception if Delete fails.
58
59 2008-03-20  Marek Safar  <marek.safar@gmail.com>
60
61         * Path.cs (Combine): Call ToString to optimize concatenation.
62
63 2008-03-02  Gert Driesen  <drieseng@users.sourceforge.net>
64
65         * DriveInfo.cs: Removed debug code.
66
67 2008-02-15  Miguel de Icaza  <miguel@novell.com>
68
69         * UnmanagedMemoryStream.cs: Implement few missing pieces.
70
71 2008-02-10  Zoltan Varga  <vargaz@gmail.com>
72
73         * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
74         calls + creation of a string for each character read.
75
76 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * MemoryStream.cs: Remove unused code found by Gendarme.
79
80 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
81
82         * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior. 
83         Fixes #352184.
84
85 2007-12-28  Zoltan Varga  <vargaz@gmail.com>
86
87         * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
88         unsafe icalls. Fixes #350860.
89
90 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
91
92         * FileStream.cs : Close() does not exist in 2.0 (Stream does).
93           Move GC.SuppressFinalize() to Dispose(true).
94
95 2007-11-12  Juraj Skripsky  <js@hotfeet.ch>
96
97         * Path.cs (GetRandomFileName): Return filenames containing only
98         characters from the range [a..z0..9] as MS.NET does. 
99
100 2007-11-02  Atsushi Enomoto  <atsushi@ximian.com>
101
102         * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
103           the maximum max char count for Decoder.GetChars() since it might
104           contain pending buffer by flush. Fixed bug #338370.
105
106 2007-11-01  Miguel de Icaza  <miguel@novell.com>
107
108         * Path.cs (GetDirectoryName): The paths returned from this routine
109         should be canonical, not just a substring.   In addition to fixing
110         this, it also fixes #324742.
111
112 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
115           for replacement fallback. Binary serialization regression is fixed.
116
117 2007-09-06  Atsushi Enomoto  <atsushi@ximian.com>
118
119         * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
120           Dispose(bool) rather than Close().
121           Stream.Dispose() is virtual in 2.0.
122
123 2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
124
125         * BinaryReader.cs: Fixed line endings.
126         * FileStream.cs: Rename name argument to path. Spaces to tabs.
127
128 2007-08-20  William Holmes  <billholmes54@gmail.com>
129
130         *File.cs:  Add implementation for IO.File.Replace methods.
131         *MonoIO.cs: Declared an internal call for ReplaceFile
132
133         Code is contributed under MIT/X11 license.
134
135 2007-07-31  Dick Porter  <dick@ximian.com>
136
137         * MonoIO.cs: Fix formatting of 'access denied' exception when the
138         path info isn't known.  Fixes bug 82141.
139
140 2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
141
142         * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
143         used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
144         to tabs.
145
146 2007-06-21  Dick Porter  <dick@ximian.com>
147
148         * FileStream.cs: Fix FileShare test, fixing better bug 79250.
149
150 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
151
152         * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
153         * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
154
155 2007-05-25  Gert Driesen  <drieseng@users.sourceforge.net>
156
157         * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
158         to read bytes as this allows us to start reading from the current
159         position. In Read, return 0 when reading beyond the end of the stream
160         and only read bytes until the end of the stream (not capacity).
161         In ReadByte, return -1 when reading beyond the end of the stream.
162         In SetLength: changed argument validation (and reported exceptions) to
163         match MS, removed duplicate access check and changed the current
164         position if length is less than position. In Write: throw
165         NotSupportedException when attempting to write beyond capacity, use
166         Marshal.WriteByte since that allows us to start writing from the
167         current position. Adjust length when position moves beyond length
168         in both Write and WriteByte. Allow position to be moved beyond
169         capacity of stream. Fixed position using Seek (=+ typo). Changed
170         CanRead to ignore current position. Allow Position to be used to move
171         beyond capacity of stream.
172
173 2007-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
174
175         * UnmanagedMemoryStream.cs: Changed argument names and exceptions 
176         (msg, params) to match MS. Verify access argument in ctor. 
177
178 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
179
180         * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
181           return buffer beyond the requested length. Fixed .ctor() for wrong
182           capacity initialization.
183
184 2007-05-12  Jonathan Chambers  <joncham@gmail.com>
185
186         * FileStream.cs: Implement SafeHandle constructors.
187
188 2007-05-01  Dick Porter  <dick@ximian.com>
189
190         * File.cs:
191         * Stream.cs: Missed a few 2.0 methods
192
193 2007-04-30  Dick Porter  <dick@ximian.com>
194
195         * Directory.cs: 
196         * FileShare.cs: 
197         * DirectoryNotFoundException.cs: 
198         * SeekOrigin.cs: 
199         * FileAttributes.cs: 
200         * IOException.cs: 
201         * MemoryStream.cs: 
202         * FileMode.cs: 
203         * BinaryWriter.cs: 
204         * TextWriter.cs: 
205         * File.cs: 
206         * BinaryReader.cs: 
207         * TextReader.cs: 
208         * UnmanagedMemoryStream.cs: 
209         * StringWriter.cs: 
210         * FileAccess.cs: 
211         * FileLoadException.cs: 
212         * BufferedStream.cs: 
213         * Stream.cs: 
214         * FileInfo.cs: 
215         * FileStream.cs:
216         * StringReader.cs: 
217         * StreamWriter.cs: 
218         * EndOfStreamException.cs: 
219         * DriveInfo.cs: 
220         * StreamReader.cs: 
221         * PathTooLongException.cs: 
222         * DriveType.cs: 
223         * FileNotFoundException.cs: 2.0 profile updates
224
225 2007-04-21  Alp Toker  <alp@atoker.com>
226
227         * FileStream.cs: Respect request for buffering in all cases.
228
229         Gonzalo added code in r42667 that disables buffering even when it is
230         requested, in the case that ftype != MonoFileType.Disk. This was
231         killing performance for users who do Console.OpenStandardOutput(1024)
232         but were ending up with a non-buffered FileStream.
233
234         The new behaviour appears correct but we should watch for any
235         regressions.
236
237 2007-04-05  Dick Porter  <dick@ximian.com>
238
239         * Directory.cs: Pass combined path and pattern to
240         MonoIO.GetFileSystemEntries()
241
242 2007-04-03  Alp Toker  <alp@atoker.com>
243
244         * UnmanagedMemoryStream.cs: Should not have a public Dispose().
245         This behaviour is already provided by the base class.
246
247 2007-04-03  Alp Toker  <alp@atoker.com>
248
249         * Stream.cs: CreateWaitHandle() obsolete in 2.0.
250
251 2007-03-18  Alp Toker  <alp@atoker.com>
252
253         * UnmanagedMemoryStream.cs:
254         * Directory.cs: Exception message typo fixes.
255
256 2007-03-11  Zoltan Varga  <vargaz@gmail.com>
257
258         * UnmanagedMemoryStream.cs: Fix a warning.
259
260 2007-03-05  Miguel de Icaza  <miguel@novell.com>
261
262         * Path.cs: Manually call FileStream and pass the new internal
263         FileOptions.1 flag that means "This is a temporary file, use 600
264         permissions". 
265
266         * FileOptions.cs: Document the new private enum value.
267
268 2007-02-22  Dick Porter  <dick@ximian.com>
269
270         * MonoIOError.cs: 
271         * MonoIO.cs: Handle ERROR_CANNOT_MAKE.
272
273 2007-02-19      Eyal Alaluf <eyala@mainsoft.com>
274
275         * DirectoryInfo.cs, Directory.cs: Use MonoNotSupported & MonoLimitation
276           attribute to tag that DirectorySecurity is not supported.
277
278 2007-02-19      Boris Kirzner <borisk@mainsoft.com>
279
280         * Path.cs: fix order of InvalidPathChars on windows.
281
282 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
283
284         * StreamReader.cs: Removed checks for non-existing directory or file,
285         since these checks are also performed in FileStream.
286
287 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
288
289         * FileStream.cs: Always resolve to absolute paths for exceptions, when not
290         in anonymous mode.
291
292 2007-01-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
293
294         * StreamReader.cs: fix for bug #75526. We return earlier from Read () if
295         the underlying stream might block or end on the next read.
296
297 2007-01-22  Miguel de Icaza  <miguel@novell.com>
298
299         * DirectoryInfo.cs: Throw a better exception (accorind go the
300         docs, UnauthorizedAccessException is thrown if the underlying
301         platform does not support it and *also* if there are no
302         permissions to access it, which is more convenient than the
303         PlatformNotSupportedException that only states that it needs Win2k
304         or newer).
305
306 2006-12-23  Alp Toker  <alp@atoker.com>
307
308         * Directory.cs: "platfor" typofix
309
310 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com>
311
312         * File.cs: Add stubs for Encrypt and Decrypt that throws 
313         NotSupportedException just like non-NTFS file systems would with MS.
314         Remove nested #if NET_2_0.
315         * FileInfo.cs: Add stubs for Encrypt and Decrypt that throws 
316         NotSupportedException just like non-NTFS file systems would with MS.
317
318 2006-12-22  Atsushi Enomoto  <atsushi@ximian.com>
319
320         * Directory.cs : non NET_2_0 build fix.
321
322 2006-12-15  Miguel de Icaza  <miguel@novell.com>
323
324         * FileInfo.cs: Empty implementations for Encrypt and Decrypt
325
326 Mon Dec 11 11:40:06 CET 2006 Paolo Molaro <lupus@ximian.com>
327
328         * FileStream.cs: correct exception message patch from
329         Markus Mauhart <mmauhart@chello.at>.
330
331 2006-11-28  Duncan Mak  <duncan@novell.com>
332
333         * TextReader.cs (Dispose): Expose as public in NET_2_0.
334
335 2006-11-26  Miguel de Icaza  <miguel@novell.com>
336
337         * DriveInfo.cs, DriveType.cs: Add a couple of classes for
338         CreativeDocs.Net.  
339
340         Thanks MoMA!  http://www.mono-project.com/Moma
341
342 2006-11-16  Miguel de Icaza  <miguel@novell.com>
343
344         * DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
345         == AllDirectories
346
347 2006-11-13  Dick Porter  <dick@ximian.com>
348
349         * Directory.cs: Don't follow symlinks when deleting directories.
350         Keeps bug 79733 fixed while fixing bug 79887.
351
352         * MonoIO.cs: ExistsSymlink() added, which checks for
353         FileAttributes.ReparsePoint.
354
355 2006-11-07  Dick Porter  <dick@ximian.com>
356
357         * Directory.cs: CreateDirectory() should only throw IOException in
358         the 2.0 profile if a file already exists with the same name, not a
359         directory.
360
361 2006-11-03 Jensen Somers <jensen.somers@gmail.com>
362
363         * Directory.cs: CreateDirectory() should throw IOException if a
364         file or directory with the same name already exists, in the 2.0
365         profile.  Fixes bug 79806.
366
367 2006-10-30 Joel Reed  <joel.reed@ddiworld.com>
368
369         * DirectoryInfo.cs: Implement SearchOption.AllDirectories option.
370
371 2006-10-11  Dick Porter  <dick@ximian.com>
372
373         * FileStream.cs: Cope with 2.0 FileShare.Delete values.  Patch by
374         Peter Dettman <peter.dettman@iinet.net.au> fixing bug 79250.
375
376 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377
378         * FileInfo.cs: added 2.0 IsReadOnly. Patch by Joel Reed.
379
380 2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
381
382         * FileInfo.cs: eol-style.
383
384 2006-09-19  Gert Driesen  <drieseng@users.sourceforge.net>
385
386         * FileNotFoundException.cs: Changed message for default ctor to match
387         MS. Use internal message field of Exception to check whether Message
388         is null. On 2.0 profile, use file/assembly load failure message when
389         no message is set and a filename was specified. On 1.0 profile,
390         always use file/assembly load failure message when no message is set
391         (regardless of whether a filename was specified or not). Made some
392         cosmetic changes to ToString to have it match MS.
393
394 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
395
396         * BinaryReader.cs (Read): Avoid allocating memory when reading a char.
397
398 2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
399
400         * StreamReader.cs: avoid ArgumentOutRangeException when the underlying
401         stream returns -1 on Read.
402
403 2006-08-30  Lluis Sanchez Gual  <lluis@novell.com>
404
405         * FileInfo.cs: OpenRead should open the file using the Read share mode.
406
407 2006-08-21  Sebastien Pouliot  <sebastien@ximian.com>
408
409         * Path.cs: Added internal method IsPathSubsetOf required to implement
410         correctly FileIOPermission (better located here).
411
412 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
413
414         * File.cs: (Delete) avoid creating the exception object for the 'file
415         not found' case.
416
417 2006-07-24  Miguel de Icaza  <miguel@novell.com>
418
419         * FileShare.cs: Add Delete in 2.0
420
421 2006-07-06  Dick Porter  <dick@ximian.com>
422
423         * Directory.cs: When creating a directory treat ERROR_FILE_EXISTS
424         (ie a file already exists with that name) the same as
425         ERROR_ALREADY_EXISTS (ie a directory already exists with that
426         name.)  Keeps bug 50753 fixed when I fix the io-layer
427         CreateDirectory() behaviour.
428
429 2006-06-21  Atsushi Enomoto <atsushi@ximian.com>
430
431         * Directory.cs : implemented GetFiles() and GetDirectories() which
432           takes SearchOption (as they are used in one of ruby.net stuff).
433
434 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
435
436         * File.cs: never throw in Exists.
437
438 2006-05-18  Miguel de Icaza  <miguel@novell.com>
439
440         * Directory.cs (Exists): Ignore INVALID_HANDlE, return false.
441
442 2006-06-03 John Luke <john.luke@gmail.com>
443
444         * Path.cs: fix typo in [Obsolete] message
445         
446 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
447
448         * BinaryReader.cs: use BlockCopyInternal.
449
450 2006-05-01  Daniel Drake  <dsd@gentoo.org>
451
452         * Directory.cs: Return false (as documented) on ERROR_ACCESS_DENIED in
453         Exists() rather than throwing an exception. Bug #78239.
454
455 2006-04-29  Atsushi Enomoto <atsushi@ximian.com>
456
457         * UnexceptionalStreamReader.cs (Read): Fix for #78218, where we
458         consumed characters from the input even when the count was not set
459         to zero, causing some characters to be missing in some
460         circumstances. 
461
462 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
463
464         * Directory.cs: make sure the parent directory is not an empty string
465         when a file name with no path is provided. Fixes bug #78209. Patch by
466         Emery Conrad.
467
468 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
469
470         * StreamReader.cs : implemented EndOfStream property.
471         * File.cs : implemented AppendAllText(), WriteAllLines(),
472           WriteAllBytes() and ReadAllLines(). Bug #77813 fixed.
473
474 2006-04-28  Robert Jordan  <robertj@gmx.net>
475
476         * Path.cs (GetPathRoot): Return just the \\server\share
477         part of a UNC. Fixes #78147.
478
479
480 2006-04-26  Miguel de Icaza  <miguel@novell.com>
481
482         * FileStream.cs: Implement the FileOptions usage by passing all
483         the information to the C layer.  Remove the "isAsync" argument for
484         MonoIO.Open, and instead pass it on the FileOptions.
485
486         * FileOptions.cs: Make it build when including WriteThrough
487
488         * MonoIO.cs: Update MonoIO.Open signature to drop the async
489         argument and take FileOptions instead. 
490
491 2006-04-21  Zoltan Varga  <vargaz@gmail.com>
492
493         * FileStream.cs: Add new net 2.0 ctor.
494
495         * FileOptions.cs: New file.
496
497 2006-03-21  Miguel de Icaza  <miguel@novell.com>
498
499         * Stream.cs: In 2.0 make Close call Dispose(true).
500
501 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
502
503         * FileStream.cs: Seek() should flush the buffer, if any. Fixes bug
504         #77863.
505
506 2006-03-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
507
508         * Stream.cs: Add 2.0 members to Stream.cs (CanTimeout,
509         ReadTimeout and WriteTimeout).
510         
511 2006-02-27  Gert Driesen  <drieseng@users.sourceforge.net>
512
513         * File.cs: In 2.0 profile, File.Get****Time(Utc) should not throw
514         IOException if specified path does not exist. Fixes bug #77641.
515
516 2006-02-26  Gert Driesen  <drieseng@users.sourceforge.net>
517
518         * FileStream.cs: To match MSFT, ignore FileShare.Inheritable on 2.0
519         profile. This fixes bug #77644. Improved usefulness of some existing
520         exception messages.
521
522 2006-02-22  Joerg Rosenkranz <joergr@voelcker.com>
523
524         * MonoIO.cs, MonoIOError.cs: Verbose exception for error 39 
525           (disk full).
526           
527 2006-02-03  Zoltan Varga  <vargaz@gmail.com>
528
529         * Stream.cs FileStream.cs: Add new 2.0 Dispose () method and protected
530         Dispose (bool) method.
531
532 2006-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
533
534         * TextWriter.cs: Dispose () is public in 2.0.
535
536 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
537
538         * UnexceptionalStreamReader.cs: Read (char,int,int) should not
539         return -1. Thanks to Jakob Berkman.
540
541 2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
542
543         * StreamReader.cs: (ReadToEnd) if Read returns -1 or 0, we're done.
544
545 2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
546
547         * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow
548           caused infinite loop on Windows.
549
550 2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
551
552         * DirectoryInfo.cs : on Windows top directory is something like c:\.
553
554 2006-01-17  Joshua Tauberer  <tauberer@for.net>
555
556         * StreamReader.cs: Avoid two totally unnecessary string creations.
557           (kind of pedantic)
558
559 2006-01-13  Ben Maurer  <bmaurer@andrew.cmu.edu>
560
561         * TextWriter.cs: Call char[],int,int from the Write(char[]) method
562         both for msft compat and for performance. Thanks to "Mike Glenn" 
563         <mglenn@zoominternet.net> for pointing.
564
565 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
566
567         * File.cs: Support for Read/WriteAllText
568
569 2006-01-11  Sebastien Pouliot  <sebastien@ximian.com>
570
571         * Path.cs: Previous fix caused regression of bug #76191. Fixed (again)
572
573 2006-01-09  Sebastien Pouliot  <sebastien@ximian.com>
574
575         * Path.cs: Fix c14n on Windows when the first separator after the root
576         isn't '\'. Fix problems for XSP with 1.1.13.
577
578 2006-01-07  Miguel de Icaza  <miguel@novell.com>
579
580         * Path.cs (GetTempFilename): Append ".tmp" to the path, some
581         external application expect this extension.
582
583 2006-01-05  Kornél Pál  <kornelpal@hotmail.com>
584
585         * DriveNotFoundException.cs: Added.
586         * MonoIO.cs: Added ERROR_INVALID_DRIVE handling. Pass HResult to
587           IOException constructors.
588         * MonoIOError.cs: Expose ERROR_INVALID_DRIVE.
589
590 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
591
592         * UnexceptionalStreamReader.cs: Re-implemented the Read method to fix 
593         the new line handling when reading from the Console (bug #77108).
594
595 2005-12-24  Kornél Pál  <kornelpal@hotmail.com>
596
597         * FileStream.cs: Set buf_start to actual initial position when creating
598           FileStreams from handles.
599
600 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
601
602         * DirectoryInfo.cs: Fixed #77090 to fix /home parent to be / (and not
603         null).
604
605 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com>
606
607         * Path.cs: Fixed #77058 where a Windows drive wasn't considered during
608         path canonalization.
609
610 2005-12-20  Sebastien Pouliot  <sebastien@ximian.com>
611
612         * Path.cs: Fixed #77007 where a Windows drive is specified with a 
613         partial path.
614
615 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
616
617         * DirectoryInfo.cs: Fixed #76903 where the Name property wasn't 
618         correct in some cases. Added special case for Windows drives. Reduced
619         temporary allocations in Get* methods (removed ArrayList). Added some
620         new 2.0 methods (partial).
621         * MonoIO.cs: Removed InvalidPathChars icall as the return value is 
622         different from 1.x and 2.0. The values are now defined in Path.cs.
623         * Path.cs: Fixed #76191 so that GetFullPath on a Windows drive returns
624         the current directory (if it's on the specified drive). Fixed 2.0 API
625         changes (e.g. static class).
626         * SearchOption.cs: Added missing [Serializable] (2.0).
627
628 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
629
630         * Directory.cs: Fix a warning.
631
632 2005-11-10  Dick Porter  <dick@ximian.com>
633
634         * DirectoryInfo.cs: Fix endless recursion problem with root
635         directory on windows too.  Fixes bug 76191.
636
637 2005-11-06  Zoltan Varga  <vargaz@freemail.hu>
638
639         * Directory.cs: Add stub for net 2.0 GetFiles method.
640
641         * SearchOption.cs: New file.
642
643 2005-10-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
644
645         * StreamReader.cs: made ReadLine() less memory-hungry. Fixes bug #76399.
646
647 2005-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
648
649         * MonoIO.cs: replace FindFirst/FindNext/FindClose with
650         GetFileSystemEntries.
651         * Directory.cs: simplify GetFileSystemEntries by using the new icall.
652
653 2005-10-01  Ben Maurer  <bmaurer@ximian.com>
654
655         * BinaryReader.cs: The patch below had a nasty little bug with
656         long strings that had non-ascii chars in it, because it was
657         looking at the char count, not the byte count.
658
659 2005-09-11  Ben Maurer  <bmaurer@ximian.com>
660
661         * BinaryReader.cs: An optimization for ReadString that had been
662         approved/well tested for a while but never gotten in. Bug #52754.
663
664 2005-09-05  Miguel de Icaza  <miguel@novell.com>
665
666         * MonoIOError.cs: expose the ERROR_DIR_NOT_EMPTY as we are
667         throwing it. 
668
669         * MonoIO.cs: Return a properly named error.
670
671 2005-08-23  Raja R Harinath  <rharinath@novell.com>
672
673         Fix #75679.
674         * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
675
676 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
677
678         * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
679         expanding the buffer.
680
681 2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682
683         * Directory.cs: don't leak 'find' handles.
684
685 2005-07-05  Dick Porter  <dick@ximian.com>
686
687         * MonoIO.cs:
688         * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
689
690 2005-07-04  Sebastien Pouliot  <sebastien@ximian.com>
691
692         * DirectoryInfo.cs: Fixed recursion problem with root directory 
693         introduced when fixing bug #75443.
694
695 2005-07-02  Sebastien Pouliot  <sebastien@ximian.com>
696
697         * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
698         NET_2_0.
699         * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
700         separator. Added ComVisible for NET_2_0. Normalized line endings.
701
702 2005-05-26  Miguel de Icaza  <miguel@novell.com>
703
704         * File.cs (ReadAllBytes): add.
705
706 Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
707
708         * FileStream.cs: complete fix for #74971.
709
710 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
711
712         * FileStream.cs: make WriteByte work in all cases when no buffer is
713         being used. Fixes bug #74971.
714
715 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
716
717         * Directory.cs: if the pattern is just a file name and it exists, return
718         it right away. Fixes bug #72143.
719
720 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
721
722         * File.cs (Open): If a stream is opened with Append access, you
723         only want Write access. Fixes bug #71088.
724
725 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
726
727         * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
728         bug #74190.
729
730 2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
731
732         * Path.cs: don't trim the path in CanonicalizePath on non-windows
733         systems. Fixes bug #53173.
734
735 2005-04-09  Miguel de Icaza  <miguel@novell.com>
736
737         * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
738         file if the position of the stream is not at the beginning.  Fixes
739         bug #74513
740
741 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
742
743         * FileStream.cs:
744         * MonoIO.cs: remove dead code related to async IO.
745
746 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
747
748         * Directory.cs: Added a Demand for Read/Write when creating a new 
749         directory.
750         * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on 
751         the class.
752         * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
753         Added an Assert for unrestricted file access to GetTempFilename as
754         the method must create the (zero-length) file and can be called from
755         partially trusted code. Added a Demand for unrestricted environment
756         access to GetTempPath method.
757         * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
758         accepting a file handle. Added LinkDemand and InheritanceDemand for 
759         UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
760
761 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
762
763         * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
764         decimals in little endian format.
765
766 2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
767
768         * MonoIO.cs:
769         * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
770
771 2005-03-15  Sebastien Pouliot  <sebastien@ximian.com>
772
773         * FileStream.cs: Anonymize part of the path when exceptions are throw
774         by a FileStream is used for isolated storage. Throw a DirectoryNotFound
775         Exception for any FileMode not just CreateNew (see new unit tests).
776
777 2005-03-09  Dick Porter  <dick@ximian.com>
778
779         * MonoIOError.cs: 
780         * MonoIO.cs: Add a few more exception messages
781
782 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
783
784         * CheckPermission.cs: Fix warning.
785
786 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
787
788         * File.cs: Exists does not throw when there are invalid characters in
789         the file name.
790         * MonoIOError.cs: uncommented INVALID_NAME.
791
792         Patch by Gert Driesen.
793
794 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
795
796         * FileStream.cs: Added new constructor to allow anonymous files (i.e.
797         when Name property is "[Unknown]") for IsolatedStorage. Added
798         SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
799         for the NET_2_0 profile.
800
801 2005-01-28  Sebastien Pouliot  <sebastien@ximian.com>
802
803         * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
804
805 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
806
807         * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
808         (GAC) log from being disclosed unless code has ControlPolicy and 
809         ControlEvidence. Added missing HResult value. Fixed Message property 
810         to match MS results. Changed ToString to use a StringBuilder.
811
812 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
813
814         * Directory.cs: Added CAS security to Get|SetCurrentDirectory to 
815         complete Environment security checks.
816
817 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
818
819         * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
820
821 2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
822
823         * File.cs: delegate to the runtime the task of checking for destination
824         file existence in Move.
825
826 2004-12-11  Ben Maurer  <bmaurer@ximian.com>
827
828         * BinaryReader.cs (ReadByte): Check for exceptions here.
829
830 2004-12-06  Atsushi Enomoto  <atsushi@ximian.com>
831
832         * TextWriter.cs : create CoreNewLine in another .ctor().
833
834 2004-12-05  Ben Maurer  <bmaurer@ximian.com>
835
836         * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
837         not make a string out of the array every time it is called.
838
839         Thanks to Atsushi for the idea.
840
841 2004-12-04  Ben Maurer  <bmaurer@ximian.com>
842
843         * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
844         
845         * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
846
847 2004-11-19  Dick Porter  <dick@ximian.com>
848
849         * MonoIOError.cs: 
850         * MonoIO.cs: Add a proper message for sharing violation
851
852 2004-11-01  Ben Maurer  <bmaurer@ximian.com>
853
854         * MonoIOError.cs: All of these fields just take up room in corlib,
855         bloating things up. To make it worse, we need to malloc data at
856         runtime about them. Since most are not used, am commenting them
857         out
858
859 2004-09-19  Dick Porter  <dick@ximian.com>
860
861         * UnexceptionalStreamWriter.cs: 
862         * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
863         StreamReader that catch IOException.  Used by System.Console so
864         that graphical applications dont get IO errors when their
865         stdin/out/err vanishes (ie when they spew debug output.)
866
867 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
868
869         * BinaryReader.cs: Use ReadByte when possible. Gives a tad
870         of perf, and fixes a bug reported on mono-patches-list
871
872 2004-09-08  Miguel de Icaza  <miguel@ximian.com>
873
874         * File.cs: Added Gettextification, provide a better error message
875         for #62112
876
877 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
878
879         * Directory.cs,
880         * File.cs: Class is static for NET_2_0.
881
882 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
883
884         * MemoryStream.cs (SetLength): Use Array.Clear here
885
886 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
887
888         * Path.cs (Combine): Array.IndexOf is slow (because of the
889         special cases it must handle). So, rather than doing IndexOf
890         just check each type of seperator.
891
892 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
893
894         * StringReader.cs (StreamReader): remove sourceChars and disposed
895         variables
896         (Read): Copy directly from the string, rather than a char []
897         (Dispose, CheckObjectDisposedException): the flag for being
898         disposed is now source == null.
899
900 2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
901
902         * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
903
904 2004-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
905
906         * StreamWriter.cs: avoid String.ToCharArray for perf.
907
908 2004-08-18  Dick Porter  <dick@ximian.com>
909
910         * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
911         Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
912
913 2004-08-13  Dick Porter  <dick@ximian.com>
914
915         * StreamWriter.cs: Allow FileShare.Read access to the underlying
916         FileStream, to be compatible with MS.  Fixes bug 62152.
917
918 2004-07-06  Dick Porter  <dick@ximian.com>
919
920         * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
921         Don't blow away the SetFileTime() error before the caller gets to
922         see it.  Part of the bug fix to 60970.
923
924 2004-07-05  Dick Porter  <dick@ximian.com>
925
926         * CheckPermission.cs:
927         * File.cs:
928         * FileInfo.cs:
929         * MonoIO.cs:
930         * FileStream.cs: Give the filename when throwing
931         FileNotFoundException.  Fixes bug 61120, based on patch from
932         Carlos Alberto Cesario <carloscesario@gmail.com>.
933
934 2004-07-05  Dick Porter  <dick@ximian.com>
935
936         * File.cs: File.Move() should check that the destination doesn't
937         already exist.  Fixes bug 60915, patch based on one from Carlos
938         Alberto Cesario <carloscesario@gmail.com>.
939
940 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
941
942         * Directory.cs: implemented GetLogicalDrives.
943
944 2004-06-24  Lluis Sanchez Gual  <lluis@novell.com>
945
946         * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
947
948 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
949
950         * FileStream.cs :
951           .ctor() should block write access when created with FileAccess.Write.
952
953 2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
954
955         * FileStream.cs : Check buffer size before creating file.
956         * StreamReader.cs : Check encoding!=null before creating file.
957         * File.cs,
958           MonoIO.cs : Convert DateTime to FileTime after checking
959           file IO sharing violation (it just fixes the type of exception).
960
961 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
962
963         * MemoryStream.cs: added TODO for serialization
964         * StringWriter.cs: added TODO for serialization
965
966 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
967
968         * TextWriter.cs: fixed CoreNewLine to return char[]
969
970 2004-06-14  Dick Porter  <dick@ximian.com>
971
972         * Directory.cs:
973         * File.cs: Catch PATH_NOT_FOUND errors in Exists() too.  Fixes bug
974         59354.
975
976 2004-06-09  Duncan Mak  <duncan@ximian.com>
977
978         * BufferedStream.cs (SetLength): Add checks and throw the
979         appropriate Exceptions here instead.
980
981         * FileStream.cs (SetLength): Revert part of my last patch, we're
982         throwing ObjectDisposedException instead of IOException again.
983
984 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
985
986         * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
987         Fixes bug #59639.
988
989 2004-06-08  Duncan Mak  <duncan@ximian.com>
990
991         * Directory.cs (IsRootDirectory): New helper method for
992         determining if a path is the root directory. Handles both Unix as
993         well as Windows.
994         (GetParent): Use IsRootDirectory for the check.
995
996 2004-06-08  Duncan Mak  <duncan@ximian.com>
997
998         * File.cs: Fix line endings, took out ^Ms.
999
1000         * Directory.cs (GetParent): Return null if the specified path is
1001         the root directory.
1002
1003         * StreamReader.cs (StreamReader):
1004         (Initialize): Add a check that buffer_size must not be less than
1005         or equal to zero.
1006
1007 2004-06-07  Duncan Mak  <duncan@ximian.com>
1008
1009         * FileStream.cs (SetLength): The other exceptions have precendence
1010         over ObjectDisposedException, which is not one of the exceptions
1011         listed in the documentation). Also, instead of throwing an
1012         ObjectDisposedException, throw an IOException.
1013
1014 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1015
1016         * BufferedStream.cs: fixed typo that prevented Read() from working.
1017         This went out with beta 2. Closes bug #59534.
1018
1019 2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1020
1021         * Directory.cs, File.cs : Fixed Exists() that raised 
1022           DirectoryNotFoundException. Quick fix for bug #59354.
1023
1024 2004-05-30  Sebastien Pouliot  <sebastien@ximian.com>
1025
1026         * BinaryReader.cs: Added missing disposed check for most methods. 
1027         Reordered some exceptions to match MS implementation. 
1028         * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
1029         SetLength must also reset Position and check for dispose.
1030         * FileStream.cs: Added missing check for invalid SeekOrigin. Added
1031         missing validations.
1032
1033 2004-05-27  Dick Porter  <dick@ximian.com>
1034
1035         * FileSystemInfo.cs: Take out the error checking in Refresh(), it
1036         broke other stuff
1037         
1038 2004-05-27  Dick Porter  <dick@ximian.com>
1039
1040         * MonoIO.cs: Define icalls for Lock() and Unlock()
1041         
1042         * FileStream.cs: Implement Lock() and Unlock().  Also improve IO
1043         error reporting.
1044
1045         * FileSystemInfo.cs:
1046         * File.cs:
1047         * Directory.cs: Improve IO error reporting
1048
1049 2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1050
1051         * FileStream.cs: delay seeking to the end when FileMode.Append is
1052         specified until after buffer initialization. Fixes bug #59151.
1053
1054 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
1055
1056         * BufferedStream.cs: Added globalization and fixed exceptions and 
1057         possible integer overflow.
1058         * FileStream.cs: Fixed possible integer overflow.
1059         * MemoryStream.cs: Fixed possible integer overflow.
1060         * StringReader.cs: Fixed possible integer overflow.
1061         * TextWriter.cs: Fixed possible integer overflow.
1062
1063 2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1064
1065         * FileInfo.cs,
1066           DirectoryInfo.cs : ToString() should return constructor arg as is.
1067           This fixes bug #58804.
1068
1069 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1070
1071         * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
1072         no files, but the directory was found. Fixes bug #58875.
1073
1074 2004-05-24  Duncan Mak  <duncan@ximian.com>
1075
1076         * StreamWriter.cs (Close): Remember to set the 'closed' flag.
1077
1078         * DirectoryInfo.cs: 
1079         * FileInfo.cs: Reformat the whole file to use DOS line endings.
1080         (MoveTo): Return if the destination of Move is the
1081         same as the file's current location.
1082
1083 2004-05-24  Sebastien Pouliot  <sebastien@ximian.com>
1084
1085         * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
1086         condition to allow zeroization of existing data when we shrink the 
1087         stream.
1088         * StreamReader.cs: Add checks for null encoding. Fixed possible integer
1089         overflow and ArgumentNullException in Read.
1090         * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
1091         AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
1092         * StringWriter.cs: Fixed possible integer overflow in Write. Changed
1093         spaces for tabs.
1094
1095 2004-05-22  Duncan Mak  <duncan@ximian.com>
1096
1097         * Directory.cs: Reformat the whole file to use Unix line endings
1098         for consistency.
1099         (GetFileSystemEntries): If pattern is String.Empty, always
1100         return an empty string array. Throw the ArgumentException if path
1101         is an empty string (determined using the new helper method)
1102         (IsEmptyString): Returns true on an empty string or a string with
1103         only whitespace characters.
1104
1105         * Path.cs (GetPathRoot): Throw an ArgumentException if the path
1106         argument is String.Empty.
1107
1108 2004-05-20  Jackson Harper  <jackson@ximian.com>
1109
1110         * DirectoryInfo.cs: Create subdirectories correctly if more then
1111         one is supplied.
1112         
1113 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
1114
1115         * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
1116
1117 2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
1118
1119         * FileInfo.cs: ToString() returns not full path but just the file name.
1120
1121 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
1122
1123         * TextWriter.cs: Removed useless [CLSCompliant (false)]
1124
1125 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1126
1127         * Directory.cs: use the real wildcard for file names as it is supported
1128         now in io-layer. SearhPattern is not needed now.
1129
1130 2004-04-30 Ben Maurer  <bmaurer@users.sourceforge.net>
1131
1132         * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
1133
1134 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
1135
1136         * Path.cs: readonlyificate.
1137
1138 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
1139
1140         * FileStream.cs: constify.
1141
1142 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1143
1144         * SearchPattern.cs: Call invariant String.ToLower
1145
1146 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1147
1148         * FileStreamAsyncResult.cs: invoke the callback if set as completed
1149         before the asynchronous stuff jumps in.
1150
1151 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1152
1153         * FileStream.cs: only pass the async flag set to true when opening the
1154         file and AIO is supported by the underlying system. Fixes bug #56883.
1155
1156 2004-04-12  Gert Driesen (drieseng@users.sourceforge.net)
1157
1158         * FileSystemInfo.cs: Implemented ISerializable, corrected COM 
1159         visibility of UTC properties
1160
1161 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
1162
1163         * BufferedStream.cs: On Position change, do not reset the buffer if the
1164         new position is in the limits of the buffer. This fixes #49403.
1165
1166 2003-04-03  Atsushi Enomoto <atsushi@ximian.com>
1167
1168         * Path.cs : ChangeExtension() does not remove dot(.) when extension is
1169           an empty string.
1170
1171 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
1172
1173         * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
1174           classes can override to perform class specific refreshing.
1175         * FileInfo.cs: Refresh existence flag when Refresh is called.
1176         * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
1177           The method Write(char) should do nothing by default.
1178
1179 2004-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1180
1181         * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
1182         bug #51741. Patch by Nick Vaughan.
1183
1184 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
1185
1186         * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
1187         with a direct call to ReadData. In InitBuffer(), if buffering is
1188         disabled, create a buffer of one byte, to be used in ReadByte.  This
1189         fixes bug #52361.
1190
1191 2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
1192
1193         * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
1194           fixes bug #53892.
1195
1196 2004-03-24  Lluis Sanchez Gual  <lluis@ximian.com>
1197
1198         * File.cs: In Move, throw IOException instead of ArgumentException if 
1199           destination is a directory.
1200         * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
1201         ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
1202         
1203 2004-03-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1204
1205         * StreamWriter.cs: Removed unneeded function
1206
1207 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1208
1209         * FileStream.cs: added support for asynchronous I/O without using the
1210         OS native libraries if available.
1211
1212         * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
1213
1214         * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
1215         new parameter to tell ifthe file will be used for asynch operations.
1216
1217         * Stream.cs: BeginRead/Write do not use delegates. They just are
1218         actually synchronous.
1219
1220         * StreamAsyncResult.cs: IAsyncResult for Stream.
1221
1222 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1223
1224         * Directory.cs: check if the error returned in Exists is different
1225         from 'path not found' and throw the appropiate exception in that case.
1226         See #55160.
1227
1228 2004-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1229
1230         * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
1231
1232 2004-02-25  Jackson Harper <jackson@ximian.com>
1233
1234         * File.cs: Report the filename when deleting a file fails. Patch
1235         by Gert Driesen. Fixes bug #54855.
1236         
1237 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1238
1239         * FileStream.cs: remove dangling ^Ms.
1240
1241 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1242
1243         * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
1244         Path.GetFullPath crash. Fixed it.
1245
1246         * MonoIO.cs: fixed typo.
1247
1248 2004-02-13  Jackson Harper  <jackson@ximian.com>
1249
1250         * FileStream.cs: Throw some more exceptions for invalid
1251         params. Fixes some unit test failures.
1252         * BufferedStream.cs: If the stream is closed (can't read from it
1253         or write to it) throw an ObjectDisposedException.
1254         
1255 Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
1256
1257         * StreamWriter.cs, TextWriter.cs: comply with the documented
1258         behaviour and use a decode buffer to improve performance.
1259
1260 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1261
1262         * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
1263
1264 2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1265
1266         * Path.cs: add the trailing directory separator only for volumes.
1267         Fixes bug #53035.
1268
1269 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
1270
1271         * IntPtrStream.cs: Fix build bustage.
1272         
1273         * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
1274         the stream is closed.
1275
1276 2004-01-18 Ben Maurer  <bmaurer@users.sourceforge.net>
1277
1278         * FileStream.cs: Locking from bug #32344 removed. This is not
1279         necessary because the correct fix was actually in the console.
1280         This fixes bug #53026. Miguel de Icaza reviewed/approved this
1281         patch.
1282
1283 2004-01-14  Zoltan Varga  <vargaz@freemail.hu>
1284
1285         * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
1286         from small files.
1287
1288 2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
1289
1290         * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
1291           instead of "c:" . This fixed bug #52735.
1292
1293 2004-01-04  Nick Drochak <ndrochak@gol.com>
1294
1295         * Path.cs: Remove defined but unused variable, and also got rid of
1296         some unreachable code.  Eliminates some build warnings.
1297
1298 2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
1299
1300         * BinaryWriter.cs: use one encoding buffer for writing
1301         strings rather than allocting one/string. HUGE perf
1302         boost when writing many strings.
1303
1304 2003-12-25  Atsushi Enomoto <atsushi@ximian.com>
1305
1306         * Path.cs : Fixed GetFullPath() (and CanonicalizePath()), 
1307           HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
1308
1309 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
1310
1311         * FileStream.cs: (.ctor) do not set handle
1312         in object until after it is validated via
1313         GetFileType so finalizer doesn't see bad handles and
1314         initialize this.handle to InvalidHandle
1315
1316 2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
1317
1318         * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
1319         not Zero
1320
1321 2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
1322
1323         * Directory.cs : SetCurrentDirectory() should raise errors for
1324           some kind of arguments.
1325
1326 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1327
1328         * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
1329         #52056.
1330
1331 2003-12-06  Ravindra  <rkumar@novell.com>
1332         *MonoIO.cs: Added a new exception case. It is thrown 
1333         when a directory creation is attempted with a name that
1334         is already used by an existing file.
1335
1336 2003-11-28  Dick Porter  <dick@ximian.com>
1337
1338         * Path.cs: Use the char form of LastIndexOf, so that the
1339         comparison is done with the Invariant culture.
1340
1341 2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1342
1343         * Directory.cs: provide the path when getting the IOException.
1344
1345 2003-11-18  John Luke  <jluke@cfl.rr.com>
1346
1347         * CheckArgument.cs:
1348         (PathLength): fix recursion found by JonK
1349         
1350 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1351
1352         * Directory.cs:
1353         (GetCurrentDirectory):
1354         (SetCurrentDirectory): moved here from Environment. Handle error cases.
1355
1356         * MonoIO.cs: add path to the default error message.
1357
1358 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1359
1360         * StringReader.cs: fixed ReadLine for some cases where there are mixed
1361         '\r' and '\n'. Closes bug #51020.
1362
1363 2003-11-14 Ben Maurer  <bmaurer@users.sourceforge.net>
1364
1365         * MemoryStream.cs (.ctor): We need to check if buffer is null
1366         before we get the Length of it.
1367
1368 2003-11-14  Miguel de Icaza  <miguel@ximian.com>
1369
1370         * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
1371
1372 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1373
1374         * Directory.cs: allow directory names without wildcards in the pattern.
1375         Fixes bug #3 50969.
1376
1377         * SearchPattern.cs: made InvalidChars and WildcardChars internal.
1378
1379 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1380
1381         * FileStream.cs: use the argument name when throwing exception.
1382
1383         * StreamReader.cs:
1384         * StringReader.cs:
1385         * TextReader.cs: added [In] attribute for the array in Read.
1386
1387 2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1388
1389         * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
1390
1391 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
1392
1393         * Directory.cs: Adjust for missing PlatformID.Unix.
1394
1395 2003-10-28  Miguel de Icaza  <miguel@ximian.com>
1396
1397         * StreamReader.cs: Add checks for disposed stream from bug report
1398         #48696 (Patrik Reali)
1399
1400         * TextReader.cs (Read): Return the total number of bytes read, 
1401         patch from Patrik Realli.
1402
1403 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
1404
1405         * FileStream.cs public FileStream (string name, FileMode mode)
1406         constructor: If we pass FileMode.Append, we can not pass
1407         FileAccess.ReadWrite.  This fixes bug 44959
1408
1409 2003-09-26  Miguel de Icaza  <miguel@ximian.com>
1410
1411         * BufferedStream.cs (Write): Use CanWrite in Write.  Patch from
1412         Francisco Figueiredo Jr.
1413
1414 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1415
1416         * BinaryReader.cs: return the correct number of bytes read when there
1417         are some bytes from peeking.
1418
1419 2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
1420
1421         * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
1422           Added [In,Out] attributes to Read method.
1423
1424 2003-08-05  Martin Baulig  <martin@ximian.com>
1425
1426         * StreamReader.cs (DiscardBufferedData): Do the same like on the
1427         ms runtime: just discard the buffered data, but don't modify the
1428         BaseStream.Position.
1429
1430 2003-08-04  Martin Baulig  <martin@ximian.com>
1431
1432         * StreamReader.cs (DiscardBufferedData): Implemented.
1433
1434 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
1435
1436         * IntPtrStream.cs (Read): Use correct offset here;  Change the
1437         code to use a byte* instead of an IntPtr to reduce the number of
1438         casts used. 
1439
1440         (Read): Use Marshal.Copy instead of the now
1441         deprecated MemCopy.
1442
1443         (IntPtrStream): New stream implementation, it maps to a region in
1444         memory.
1445
1446 2003-07-23  Duncan Mak  <duncan@ximian.com>
1447
1448         * StreamReader.cs (Initialize): This method is not exposed in the
1449         API, mark as internal.
1450
1451 Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
1452
1453         * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
1454
1455 2003-07-16  Dick Porter  <dick@ximian.com>
1456
1457         * FileInfo.cs: Update path info when a file is moved.  Patch by
1458         John Luke <jluke@cfl.rr.com>, fixes bug 44253.
1459
1460 2003-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1461
1462         * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
1463
1464 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
1465
1466         * FileStream.cs (Dispose): Flush the buffer even if we don't own the
1467         handle.
1468         * FileStream.cs: Add a new constructor parameter to turn off buffering.
1469         This is used by the Console.OpenStandard...() methods. Also fix
1470         argument checking in InitBuffer(), so a zero buffer size is also 
1471         rejected.
1472
1473 2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
1474
1475         * Stream.cs: use async.delegate invoke 
1476
1477 2003-06-18  Nick Drochak <ndrochak@gol.com>
1478
1479         * FileSystemInfo.cs: Refresh cache when changeing file times.
1480
1481 2003-06-11  Zoltan Varga  <vargaz@freemail.hu>
1482
1483         * FileStream.cs: Fix errors in previous checkins:
1484         (Write): Only take the shortcut route if the data is longer than the
1485         buffer length.
1486         (Write): Flush the buffer before writing out the new data
1487         (Write): Flush the buffer after writing out a segment since otherwise
1488         we will go into an infinite loop.
1489         (FlushBuffer): Remove my last change since it was clearly wrong.
1490         (Seek): Run FlushBuffer () after the in-buffer seek optimization.
1491         (Seek): Only use the in-buffer optimization if the buffer is not
1492         empty.
1493         (Length): Call FlushBuffer () since buffer data might change the size
1494         of the stream.
1495
1496 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1497
1498         * FileStream.cs:
1499         - removed unusefull bugfix (DirectoryNotFoundException)
1500         - Flush before seek.
1501         
1502 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1503
1504         * FileStream.cs: Check buffer size before append/read -exceptios
1505         
1506 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1507
1508         * FileStream.cs: Check DirectoryNotFound before FileNotFound.
1509         
1510 2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
1511
1512         * FileStream.cs: Does not anymore flush while writing
1513         
1514 2003-06-02  Nick Drochak <ndrochak@gol.com>
1515
1516         * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
1517         for null too.
1518
1519 2003-05-27  Lluis Sanchez Gual <lluis@ximian.com>
1520
1521         * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
1522
1523 2003-05-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1524
1525         * Path.cs: fixed bug #42631.
1526
1527 2003-05-22  Zoltan Varga  <vargaz@freemail.hu>
1528
1529         * File.cs (Move): Allow moving of directories.
1530         Fix 'destination is a directory' test.
1531
1532 2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
1533
1534         * StringWriter.cs: Fixed bug #43431: "StringWriter
1535         .ctor(CultureInfo) does not create a new StringBuilder ()"
1536
1537 2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
1538
1539         * FileStream.cs (FlushBuffer): After a flush, the buffer is
1540         advanced by buf_offset bytes, not buf_length bytes.
1541
1542 2003-05-16  Dick Porter  <dick@ximian.com>
1543
1544         * MonoIO.cs: Implement GetTempPath
1545
1546 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1547
1548         * DirectoryInfo.cs: fixed bug #42991.
1549         * Path.cs:
1550         (CanonicalizePath): store the value of the trimmed input string. Make it
1551         work with paths such as "/home/xxx/.".
1552
1553 2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
1554         * Path.cs 
1555         (CanonicalizePath) Fixed bug #42631, which duplicated the
1556         root part of the path under Windows.
1557
1558 2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
1559
1560         * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
1561         LastWriteTimeUtc and CreationTimeUtc
1562         
1563 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
1564         * Path.cs 
1565         (GetPathRoot) Added support for UNC paths.
1566         (CanonicalizePath) Added optimizations per Miguel's requests.
1567
1568 2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
1569
1570         * BufferedStream.cs: 
1571           - Removed unusefull code.
1572           - Added ObjectDisposedException to Position
1573           - Dont flush if stream is allready closed.
1574           - Flush throws also ObjectDisposedException.
1575         * Directory.cs:
1576           - GetFileSystemEtries: ArgumentNullException if pattern is null
1577         * DirectoryInfo.cs: Fixed little MoveTo () bug.
1578         * FileInfo.cs:
1579           - Exists: If file does not exists when instance is created the
1580           value of the Exists property does not change even if file is created
1581           afterwards.
1582           - Delete: If path is a directory UnauthorizedException is thrown.
1583           - CopyTo: Now we can overwrite file if wanted.
1584         * Path.cs: 
1585           - GetFullPath: Now throws exception when path is "   ".
1586         
1587 2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
1588         * Directory.cs (GetLogicalDrives) Marked as MonoTODO
1589         because we need to implement the method on Windows.
1590         * Path.cs 
1591         (CanonicalizePath) Added new function to get
1592         rid of . and .. in path names. Need to figure out what
1593         other functions should call this.
1594         (GetFullPath) Added call to the above function.
1595         
1596 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1597
1598         * StreamReader.cs:
1599         (.ctor): fixed parameters passed to FileNotFoundException.
1600
1601 2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
1602
1603         * BinaryReader.cs (Read): make sure the buffer is big enough (fix
1604         bug # 40702)
1605
1606 2003-04-24  Pedro Martinez Julia  <yoros@wanadoo.es>
1607
1608         * BufferedStream.cs: Test if it's possible to seek in a Stream
1609         before access to Position. This prevents the exception thrown when
1610         the stream is System.Net.Sockets.NetworkStream.
1611
1612 2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
1613
1614         * Directory.cs: clean up --> performance improvment. Some exceptions
1615         are now checked in File.cs.
1616         * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
1617         
1618 2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
1619
1620         * Directory.cs: lots of fixes. 
1621           - Added GetXXXtimeUtc () (v1.1) methods.
1622           - Added SetXXXtimeUtc () (v1.1) methods.      
1623         
1624 2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
1625
1626         * StringReader.cs (Read): Increment nextChar by charsToRead
1627         instead of count, that will guarantee that the next time the
1628         method is called, it will return 0 on an empty string rather than
1629         throwing an exception
1630
1631 2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
1632
1633         * BufferedStream.cs: Some fixes, mostly throwing exceptions.
1634         * MemoryStream.cs: Changed the order of exception checking
1635         * StringReader.cs: little clean up
1636         
1637 2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
1638
1639         * BinaryWriter.cs: Fixed decimal writing and lots of 
1640         ObjectDisposedExceptions added.
1641         
1642 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
1643
1644         * BinaryReader.cs: Fix to ReadDecimal() method.
1645         
1646 2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
1647
1648         * StringReader.cs: Added some ObjectDisposedExceptions.
1649         * StringWriter.cs: Added some ObjectDisposedExceptions.
1650         * BinaryReader.cs: Added some ObjectDisposedExceptions.
1651         
1652 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1653
1654         * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
1655         fill a bug report.
1656
1657 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1658
1659         * FileStream.cs: fixed bug #40182 and made more unit test pass.
1660
1661 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1662
1663         * FileStream.cs: Added new methods Lock () and Unlock ()
1664         
1665 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1666
1667         * StringReader.cs: Throws exceptions if constructor parameter is null.
1668         
1669 2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
1670
1671         * StringWriter.cs: Now throws an exception if StringBuilder parameter
1672         is null
1673         
1674 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
1675
1676         * TextWriter.cs: Implemented Synchronized method.
1677
1678         * TextReader.cs: Implemented Synchronized method.
1679
1680 2003-04-04  Miguel de Icaza  <miguel@ximian.com>
1681
1682         * FileStream.cs (Read, ReadByte, Seek): throw
1683         ObjectDisposedException if the handle has been released.
1684         
1685         (Read): Throw exceptions specified in the spec.
1686
1687         (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
1688         instance methods of FileStream to be thread safe, so remove all
1689         the calls to lock on the object
1690
1691 2003-03-31  Nick Drochak <ndrochak@gol.com>
1692
1693         * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
1694
1695 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
1696
1697         * FileNotFoundException.cs: fixed serialization bug.
1698
1699 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1700
1701         * StringWriter.cs : don't release internalString on Dispose().
1702
1703 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1704
1705         * StreamReader.cs: fixed bug #39280.
1706
1707 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1708
1709         * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
1710         pointing it out.
1711
1712 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1713
1714         * MemoryStream.cs: general fixes and reformatted. Passes all tests in
1715         the new MemoryStreamTest.
1716
1717 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1718
1719         * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
1720         ToArray even after closing the stream.
1721
1722 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1723
1724         * Directory.cs:
1725         (Move): don't use File.Move.
1726         * DirectoryInfo.cs: fixed Name property.
1727         
1728         Fixes bug #37755.
1729
1730 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1731
1732         * DirectoryInfo.cs: changed ToString to match MS behavior.
1733         * Path.cs: further fixes to GetDirectoryName to return null in the
1734         same cases that MS does.
1735
1736         Fixes bug #38387.
1737
1738 2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1739
1740         * Path.cs: fixed a couple of bugs reported in #35906.
1741
1742 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1743
1744         * Directory.cs: fixed bugs #38939 and #38940. No need for separate
1745         unix/windows/unc shares code paths.
1746
1747 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1748
1749         * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
1750         SetCreationTime, SetLastAccessTime and SetLastWriteTime.
1751
1752 2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753
1754         * MemoryStream.cs:
1755         (ToArray): return only the portion of the buffer that contains
1756         data, not the whole buffer. (note: this makes XmlDocument.Load work
1757         again with documents that have a <?xml without the 'encoding'
1758         attribute, which makes gtk-sharp generator work again).
1759
1760 2003-02-25  Nick Drochak <ndrochak@gol.com>
1761
1762         * File.cs (GetCreationTime): Throw proper execption when path is not
1763         found.
1764
1765 Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
1766
1767         * MemoryStream.cs: make it behave sanely when the stream is
1768         incrementally expanded.
1769
1770 2003-02-21  Dick Porter  <dick@ximian.com>
1771
1772         * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
1773         32344
1774
1775 2003-02-18  Dick Porter  <dick@ximian.com>
1776
1777         * FileStream.cs: Make FileMode.Append work, and check for Seeking
1778         back over old data (undocumented ms behaviour, throws an exception
1779         if you try).  Fixes bug 35975.
1780
1781 2003-02-17  Dick Porter  <dick@ximian.com>
1782
1783         * FileStream.cs: Don't close the handle if the stream doesn't own
1784         it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
1785         35623.
1786
1787 2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
1788
1789         * FileStream.cs (Write): flush after writing the last segment as well.
1790
1791 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1792
1793         * StringReader.cs:
1794         (ReadLine): fixed the case when the string ends with a '\n'.
1795
1796 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1797
1798         * MemoryStream.cs: create the buffer of the specified capacity.
1799
1800 2003-01-31  Patrik Torstensson
1801
1802         * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
1803         the same way as MS does it (performance improvement)
1804
1805 2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
1806
1807         * Directory.cs (GetFileSystemEntries): moved error handling to the
1808         correct instance of GetFileSystemEntries so all callers can enjoy it.
1809
1810 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
1811
1812         * File.cs: add error handling to Get...Time methods.
1813
1814 2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
1815
1816         * Directory.cs: fix GetParent so it actually works.
1817
1818 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1819
1820         * Path.cs: fixlet to ChangeExtension for the case when the path is
1821         empty.
1822
1823 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1824
1825         * BufferedStream.cs: don't try to write a 0 sized array on when
1826         flushing the stream.
1827         
1828         Fixes bug #37045.
1829
1830 2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
1831
1832         * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
1833
1834 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1835
1836         * MemoryStream.cs: fixed bug #36319.
1837
1838 2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1839         
1840         * Directory.cs: Some fixes to SMB shares handling, and not compiling 
1841         with csc, mcs compiles it correctly (mcs bug 35652)
1842
1843 2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1844
1845         * Directory.cs: Some fixes related to correct some exceptions thrown
1846
1847 2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1848
1849         * Directory.cs: Some Exceptions added, fixed GetParent(),
1850         CreateDirectory() should work with unix, native windows and
1851         windows samba shares. Converted end-lines from dos-mode to unix-mode
1852
1853 2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1854
1855         * Directory.cs: CreateDirectory  works now with Absolute paths
1856         too, not only with relative ones.
1857
1858 2002-12-07  Peter Williams  <peterw@ximian.com>
1859
1860         * Directory.cs: Don't use the uninitialized pathsumm here.
1861         Don't try and create "" if we're using an absolute path.
1862
1863 2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1864
1865         * Directory.cs: Now the creation of a new directory works recursively
1866         it will make parents as needed.
1867
1868 2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1869
1870         * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
1871         fixes Flush ().
1872
1873 Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
1874
1875         * StreamWriter.cs: output the encoding preamble at the start of a
1876         stream if needed.
1877
1878 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1879
1880         * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1881
1882 2002-11-06  Miguel de Icaza  <miguel@ximian.com>
1883
1884         * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
1885
1886 2002-10-31  Dick Porter  <dick@ximian.com>
1887
1888         * FileStream.cs: Fix buffering properly this time.  Also kludge
1889         around broken pipe errors, treating them as EOF instead of
1890         throwing an IO exception.
1891
1892         * MonoIO.cs: Return the error status in a parameter, as the
1893         GetLastError() value has long since been blown away if we try and
1894         look it up in a subsequent internal call invocation.
1895
1896         * FileSystemInfo.cs: 
1897         * FileInfo.cs: 
1898         * File.cs: 
1899         * Directory.cs: MonoIO methods now have an error parameter
1900
1901 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1902
1903         * TextReader.cs: implemented ReadBlock ().
1904
1905 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
1906
1907         * StreamWriter.cs: Ditto for Null stream.
1908
1909         * BinaryReader.cs: Use Unmarked here too.
1910
1911         * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
1912         is what .NET does.
1913
1914 2002-10-23  Dick Porter  <dick@ximian.com>
1915
1916         * FileStream.cs: Implemented CanSeek, and used it around all the
1917         calls to MonoIO.Seek.  Fixed buffering in Read() so that it
1918         doesn't block forever on short reads.
1919
1920         * MonoFileType.cs: New enum for GetFileType
1921         
1922         * MonoIO.cs: Added GetFileType
1923
1924 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1925
1926         * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
1927         \n (this is what MS does).
1928
1929 2002-10-18  Dick Porter  <dick@ximian.com>
1930
1931         * FileStream.cs: SeekOrigin.End still calculates the offset from
1932         the end of the file with positive values extending the length.
1933         Fixes bug 32471.
1934
1935 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1936
1937         * Path.cs: some cleanup. Thanks to Martin Aliger.
1938
1939 2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1940
1941         * FileStream.cs: throw an exception if trying to open a directory.
1942         Thanks to Martin Aliger.
1943
1944 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1945
1946         * Path.cs: fixes bug #28046.
1947
1948 2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1949
1950         * StreamReader.cs: give more information when wrong parameters passed.
1951
1952 2002-09-21  Miguel de Icaza  <miguel@ximian.com>
1953
1954         * FileStream.cs: Do not call FSync on the file.
1955
1956 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
1957
1958         * TextWriter.cs (Null): The Null field should be an instance of a
1959         TextWriter class that does nothing, so it is an instance of the
1960         NullTextWriter class.
1961
1962 2002-09-16  Nick Drochak  <ndrochak@gol.com>
1963
1964         * MemoryStream.cs (Close): Don't throw an exception if the stream
1965         is already closed.
1966
1967 2002-09-15  Miguel de Icaza  <miguel@ximian.com>
1968
1969         * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
1970         Flush calls fsync().  
1971
1972         The API docs show no explicit mention that Flush() should even do
1973         an fsync, I am thinking that we should drop that from the
1974         runtime. 
1975
1976 2002-09-09  Miguel de Icaza  <miguel@ximian.com>
1977
1978         * StreamWriter.cs: When no encoding is provided, create an
1979         encoding without markers, this is what MS does.
1980
1981 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
1982
1983         * StreamReader.cs: Implement detection of byte marks and skipping
1984         of byte marks at the beginning of the stream.
1985
1986         (ReadToEnd): Use buffered read instead of char-by-char
1987         processing. 
1988
1989         Correct the default arguments for creating the StreamReader.
1990
1991 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1992
1993         * CheckArgument.cs: fixed check for empty string.
1994         * Path.cs: various fixes. It passes all the tests in new PathTest.
1995
1996 2002-08-29  Duncan Mak  <duncan@ximian.com>
1997
1998         * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
1999         the build for gtk#.
2000
2001 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2002
2003         * BinaryReader.cs:
2004         * BinaryWriter.cs:
2005         * MemoryStream.cs:
2006         * StreamReader.cs:
2007         * StreamWriter.cs:
2008         * StringReader.cs:
2009         * StringWriter.cs:
2010         * TextWriter.cs: IDisposable fixes.
2011
2012 2002-08-24  Miguel de Icaza  <miguel@ximian.com>
2013
2014         * StreamReader.cs: Removed TODOs, as the code seems to be
2015         complete. 
2016
2017         * Path.cs (GetTempFileName): Make this routine atomic by not
2018         testing and then creating, but using the create call to ensure
2019         that we own the filename.
2020
2021 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2022
2023         * FileLoadException.cs: implemented ToString.
2024
2025         * StreamWriter.cs: added Null field and implemented Write (char) and
2026         Write (char []).
2027
2028 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2029
2030         * StreamReader.cs: implemented NullStreamReader.
2031
2032 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
2033
2034         * Path.cs (GetDirectoryName): Fix for filenames with size = 1
2035
2036         * File.cs: Removed all references that threw exceptions when the
2037         paths contains a colon, as this is a valid part of an identifier
2038         on Unix.
2039
2040         Everywhere: The String.Empty return from GetDirectoryName means
2041         that there is no directory information about the path.
2042
2043 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2044
2045         * FileNotFoundException.cs: use Message and InnerException from base
2046         class. Changed Message and ToString ().
2047
2048 2002-08-19  Dick Porter  <dick@ximian.com>
2049
2050         * BinaryWriter.cs: The length of a string is counted in bytes, not
2051         chars
2052
2053 2002-08-18  Dick Porter  <dick@ximian.com>
2054
2055         * BinaryReader.cs: Fixed buffering
2056
2057 2002-08-09  Nick Drochak  <ndrochak@gol.com>
2058
2059         * BinaryReader.cs: added virtual to Dispose(bool).
2060
2061 2002-08-03  Jason Diamond  <jason@injektilo.org>
2062
2063         * StringWriter.cs: Return UnicodeEncoding for Encoding property.
2064
2065 2002-08-03  Jason Diamond  <jason@injektilo.org>
2066
2067         * StreamWriter.cs: Use GetByteCount() to get exact length instead
2068         of GetMaxByteCount when converting chars to bytes.
2069
2070 2002-07-31  Duncan Mak  <duncan@ximian.com>
2071
2072         * StreamReader.cs: 
2073         (Dispose): Added and implmented.
2074
2075         * StreamWriter.cs: 
2076         (Dispose): Fixed visibility.
2077         (Initialize): Fixed visibility, made internal.
2078
2079         * BinaryReader.cs:
2080         (Dispose): Fixed visibility.
2081
2082 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2083
2084         * File.cs:
2085         (Create): allow file names without path.
2086
2087 Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
2088
2089         * FileStream.cs: patch from erik@bagfors.nu to add
2090         Name property support.
2091
2092 2002-07-20  Dick Porter  <dick@ximian.com>
2093
2094         * MonoIO.cs: Added icall to CreatePipe
2095
2096 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2097
2098         * FileInfo.cs: fixes buglet #27940
2099
2100 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2101
2102         * Path.cs: removed unneeded line from GetExtension.
2103
2104 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2105
2106         * FileStream.cs:
2107         (.ctor): call MonoIO.GetException with the file name.
2108
2109 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
2110
2111         * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
2112
2113 2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
2114
2115         * StreamReader.cs: Revert the last Peek change and fix the ReadLine
2116         end of line detection code instead.
2117
2118 2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2119
2120         * StreamReader.cs:
2121         (Peek): no need to have seek capabilitites. 
2122
2123 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
2124
2125         * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
2126
2127         * File.cs (Delete): only call Directory.Exists() if DirName != ""
2128
2129 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2130
2131         * Directory.cs: fixed bug #26133 and also test if the directory exist
2132         before performing the search.
2133
2134 2002-06-12  Nick Drochak  <ndrochak@gol.com>
2135
2136         * StringReader.cs (ReadLine): Return null when we get to end of the
2137         string.
2138
2139 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
2140
2141         * StreamWriter.cs: added ability to write null value
2142         
2143 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
2144
2145         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
2146         prevent endless loops.
2147
2148 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
2149
2150         * FileStream.cs: Enforce lower bound on buffer size.
2151
2152 2002-05-16  Piers Haken <piersh@friskit.com>
2153
2154         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
2155
2156 2002-05-17  Nick Drochak  <ndrochak@gol.com>
2157
2158         * StreamWriter.cs: Implement buffering.  Also implemented dispose
2159         pattern as recommended by the MS docs.  Must call Close() now
2160         to ensure the buffer is flushed.
2161
2162 2002-05-15  Nick Drochak  <ndrochak@gol.com>
2163
2164         * Path.cs (GetDirectoryName): Return String.Empty if there is no
2165         directory
2166
2167         * StreamReader.cs: Add some parameter checking on file names.
2168
2169         * StreamWriter.cs: Add some parameter checking on file names.
2170
2171 2002-05-14 Nick Drochak  <ndrochak@gol.com>
2172
2173         * File.cs: Add parameter checks to most methods. Not completely done,
2174         but all current unit tests pass.
2175
2176         * Path.cs: Implement GetTempFileName().
2177
2178 2002-05-10  Nick Drochak  <ndrochak@gol.com>
2179
2180         * StreamWriter.cs (Flush): Throw proper exception if internal stream
2181         has already been closed when we try to flush.
2182
2183 2002/05/10  Nick Drochak <ndrochak@gol.com>
2184
2185         * FileNotFoundException.cs (ToString): Don't try to use the inner
2186         exception, because it might be null.  Use the message instead.
2187
2188 2002-05-09  Nick Drochak  <ndrochak@gol.com>
2189
2190         * File.cs (Delete): Do not throw an exception if the file does not
2191         exist.
2192
2193 2002-05-08  Mike Gray     <mikeg@mikegray.org>
2194
2195         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
2196         should not overwrite dest by default.
2197
2198 2002-05-08  Nick Drochak  <ndrochak@gol.com>
2199
2200         * StreamWriter.cs: Add paramter check to constructors and throw
2201         exceptions where appropriate.
2202
2203 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2204
2205         * StreamReader.cs: return the number of chars read even if we diddn't
2206         fill the whole buffer (makes Sergey's ilasm work with mono).
2207
2208 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
2209
2210         * FileInfo.cs (Create): Implement missing method.
2211
2212 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
2213
2214         * File.cs: Implemented CreateText method, and fixed dst compares
2215         to compare against "" instead of null twice.
2216
2217 2002-05-05  Nick Drochak  <ndrochak@gol.com>
2218
2219         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
2220         use new internal class since null cannot be passed to constructor 
2221         anymore. Also, fix a coule of small bugs.
2222
2223 2002-05-03  Nick Drochak  <ndrochak@gol.com>
2224
2225         * MemoryStream.cs: Refrain from allocating array until the space is
2226         really needed. This fixes a bug in the Length property when the
2227         constructor without the byte array is used.
2228
2229 2002-05-01  Duncan Mak  <duncan@ximian.com>
2230
2231         * DirectoryNotFoundException.cs (constructor): Added missing
2232         serialization constructor.
2233
2234 2002-04-30  Duncan Mak  <duncan@ximian.com>
2235
2236         * FileLoadException.cs (constructors): Added missing (string,
2237         string) ctor, as well as (string, string, Exception) ctor.
2238
2239         (Message): Added more info to the error message
2240
2241         (ToString): Added. We'll need to add the StackTrace stuff when
2242         that works.
2243
2244         * FileShare.cs: Add a missing field, Inheritable.
2245         
2246         * TextReader.cs: Renamed Synchronised method to Synchronized.
2247
2248         * TextWriter.cs: Renamed Synchronised method to Synchronized.
2249         Renamed protected member coreNewLine to CoreNewLine.
2250
2251 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
2252
2253         * BinaryReader.cs: Allocate buffer before its first use.
2254         Handle end of stream properly. Methods to read native types
2255         (ReadInt* etc.) are little-endian (see Compact Framework docs).
2256
2257         * BinaryWriter.cs: Store data in little-endian format.
2258         Use internal buffer for conversions.
2259
2260 2002-03-31  Dick Porter  <dick@ximian.com>
2261
2262         * Directory.cs: Strip out "." and ".." from returned list
2263
2264         * FileAttributes.cs: Get the right enum values
2265
2266 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
2267
2268         * TextWriter.cs (write): added check for null
2269
2270 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
2271
2272         * Directory.cs: Throws DirectoryNotFoundException.
2273         * MonoIO.cs: Fixed to work around enum problem.
2274
2275 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
2276
2277         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
2278
2279 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
2280
2281         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
2282         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
2283         wrapper and PAL classes.
2284
2285         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
2286
2287 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
2288
2289         * MemoryStream.cs (Read): Fixed bug in exception throw.
2290
2291 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
2292
2293         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
2294
2295 2002-03-23  Martin Baulig  <martin@gnome.org>
2296
2297         * StreamReader.cs: Always do buffered reading, use 4k blocks.
2298         (Read (char[], int, int)): Implemented.
2299         (DiscardBufferedData): Implemented.
2300
2301 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
2302
2303         * StreamReader.cs : Fill out, add buffering, and use encoding.
2304
2305 2002-03-19  Martin Baulig  <martin@gnome.org>
2306
2307         * StreamWriter.cs (StreamWriter (string)): The default is to override
2308         the file, not to append to it.
2309         (StreamWriter (string path, bool append)): When appending, seek to the
2310         end of the file, otherwise truncate the file to zero length.
2311         (Dispose (bool)): Close the internalStream.
2312         (Flush): Flush the interalStream.
2313         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
2314
2315 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
2316
2317         * FileStream.cs: Flush buffer before FileSetLength.
2318
2319 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
2320
2321         * Stream.cs (NullStream): Do not track position, this beast does
2322         nothing in practice.
2323
2324 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
2325
2326         * SearchPattern.cs: New class. Glob matching code for Directory.
2327         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
2328
2329 2002/03/15 Nick Drochak <ndrochak@gol.com>
2330
2331         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
2332         This code seemed to be copied from somewhere, and it was close,
2333         but didn't match the docs.  This was the last bit needed to get
2334         NAnt to compile with our class libs.
2335
2336 2002-03-12  Duncan Mak  <duncan@ximian.com>
2337
2338         * EndOfStreamException.cs:
2339         * FileLoadException.cs:
2340         * FileNotFoundException.cs:
2341         * PathTooLongException.cs: Changed the base classes to IOException
2342         instead of SystemException.
2343
2344         * IOException.cs: Added missing constructors.
2345         
2346 2002-03-07  Nick Drochak  <ndrochak@gol.com>
2347
2348         * FileMode.cs: Docs don't say this should be explicitly derived from
2349         int, so just make it a normal Enum.
2350
2351 2002-03-02  Jason Diamond  <jason@injektilo.org>
2352
2353         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
2354
2355 2002-02-12  Nick Drochak  <ndrochak@gol.com>
2356
2357         * PathTooLongException.cs: put it in the correct namespace
2358         * EndOfStreamException.cs: put it in the correct namespace
2359
2360 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
2361
2362         * Directory.cs: handle opendir() return NULL and absolute filenames.
2363
2364 2002-01-31  Duncan Mak  <duncan@ximian.com>
2365
2366         * FileLoadException.cs:
2367         * FileNotFoundException: Added missing bits for serialization.
2368
2369 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
2370
2371         * Directory.cs: allow directories in GetFiles() mask.
2372
2373 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
2374
2375         * FileInfo.c (CopyTo, MoveTo): Implement.
2376
2377         * FileStream.cs: Add argument checking to the constructor.
2378
2379         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
2380         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
2381         
2382         * Directory.cs (Delete): reimplement without using DirectoryInfo.
2383         (Delete): Implement the recursive version.
2384         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
2385         (Move): Reimplement.
2386         (getNames): dead code removal.
2387
2388         * Path.cs: define an internal DirectorySeparatorStr that we use in
2389         a few spots.
2390
2391         * Wrapper.cs: Updated to new version.
2392         
2393         * DirectoryInfo (Delete): Implement using the Directory API.
2394
2395         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
2396         Delete, Create, Parent, Exists, MoveTo): Implement. 
2397
2398         * Directory.cs (GetListing): implement new utility function.
2399         (GetDirectories): Implement.
2400         (GetFileSystemEntries): Implement.
2401         (GetFiles): Implement.
2402
2403         * CheckArgument.cs (Path): Do not allow null by default.
2404
2405 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2406
2407         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
2408         assembly in corlib.
2409
2410 2002-01-20 Nick Drochak  <ndrochak@gol.com>
2411
2412         * SeekOrigin.cs: Added Serializable attribute.
2413
2414 2002-01-19  Duncan Mak  <duncan@ximian.com>
2415
2416         * PathTooLongException.cs: 
2417         * EndOfStreamException.cs: Added to CVS.
2418
2419 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
2420
2421         * BufferedStream.cs: Initial implemenation.  The synchronous
2422         methods for both reading and writing are implemented.  I'll do the
2423         asynchronous methods in a bit.
2424         
2425 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
2426
2427         * BinaryWriter.cs: Initial implementation.  And it's all there.
2428
2429         * BinaryReader.cs: The constructor now uses the passed in encoding,
2430         not UTF8 always.
2431
2432 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
2433
2434         * BinaryReader.cs: Initial implementation.  I think it's complete.
2435
2436 2002-01-04  Ravi Pratap  <ravi@ximian.com>
2437
2438         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
2439         attribute decorations.
2440
2441         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
2442         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
2443
2444         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
2445         Ditto.
2446
2447 2001-12-11  Dick Porter  <dick@ximian.com>
2448
2449         * FileStream.cs: Use handles rather than casting file descriptors.
2450         Added Handle property.
2451
2452 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
2453
2454         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
2455         * FileStream.cs: only trow an exception if the read failed in ReadByte().
2456         * StreamReader.cs: implement Peek and Read.
2457         * TextWriter.cs: CLSCompliant updates.
2458
2459 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
2460
2461         * FileNotFoundException.cs: Added some constructors
2462
2463         * Path.cs (GetFullPath): Fixed implementation
2464
2465 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
2466
2467         * DirectoryNotFoundException.cs: implemented.
2468
2469 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
2470
2471         * File.cs: fix signatures of the Open() and OpenRead() functions
2472         (they are static).
2473
2474 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
2475
2476         * FileLoadException.cs, FileNotFoundException.cs: added.
2477
2478 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
2479
2480         * TextReader.cs: implemented the Read method
2481
2482         * StreamReader.cs: impl. stubs
2483
2484         * StreamWriter.cs: impl.
2485
2486         * TextWriter.cs: implemented Write and WriteLine methods
2487
2488 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
2489
2490         * FileAccess.cs, FileMode.cs: change values to be compatible with
2491         the ms ones.
2492         
2493 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
2494
2495         * IOException.cs: Implemented System.IO.Exception.
2496
2497 2001-07-18  Michael Lambert <michaellambert@email.com>
2498
2499         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
2500
2501 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
2502
2503         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
2504         "LAMESPEC", but the tests work against the MS implementation so
2505         the major functions are right (ie. Read/Write/Seek).  Some more
2506         tests required for the various constructors and exceptions.
2507
2508 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
2509
2510         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
2511         New class implemenations.
2512
2513         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.