* Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
1 2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
2
3         * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
4         prevent endless loops.
5
6 2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
7
8         * FileStream.cs: Enforce lower bound on buffer size.
9
10 2002-05-16  Piers Haken <piersh@friskit.com>
11
12         * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
13
14 2002-05-17  Nick Drochak  <ndrochak@gol.com>
15
16         * StreamWriter.cs: Implement buffering.  Also implemented dispose
17         pattern as recommended by the MS docs.  Must call Close() now
18         to ensure the buffer is flushed.
19
20 2002-05-15  Nick Drochak  <ndrochak@gol.com>
21
22         * Path.cs (GetDirectoryName): Return String.Empty if there is no
23         directory
24
25         * StreamReader.cs: Add some parameter checking on file names.
26
27         * StreamWriter.cs: Add some parameter checking on file names.
28
29 2002-05-14 Nick Drochak  <ndrochak@gol.com>
30
31         * File.cs: Add parameter checks to most methods. Not completely done,
32         but all current unit tests pass.
33
34         * Path.cs: Implement GetTempFileName().
35
36 2002-05-10  Nick Drochak  <ndrochak@gol.com>
37
38         * StreamWriter.cs (Flush): Throw proper exception if internal stream
39         has already been closed when we try to flush.
40
41 2002/05/10  Nick Drochak <ndrochak@gol.com>
42
43         * FileNotFoundException.cs (ToString): Don't try to use the inner
44         exception, because it might be null.  Use the message instead.
45
46 2002-05-09  Nick Drochak  <ndrochak@gol.com>
47
48         * File.cs (Delete): Do not throw an exception if the file does not
49         exist.
50
51 2002-05-08  Mike Gray     <mikeg@mikegray.org>
52
53         * File.cs: According to ECMA spec and MS docs Copy(src, dest)
54         should not overwrite dest by default.
55
56 2002-05-08  Nick Drochak  <ndrochak@gol.com>
57
58         * StreamWriter.cs: Add paramter check to constructors and throw
59         exceptions where appropriate.
60
61 Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
62
63         * StreamReader.cs: return the number of chars read even if we diddn't
64         fill the whole buffer (makes Sergey's ilasm work with mono).
65
66 2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
67
68         * FileInfo.cs (Create): Implement missing method.
69
70 2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
71
72         * File.cs: Implemented CreateText method, and fixed dst compares
73         to compare against "" instead of null twice.
74
75 2002-05-05  Nick Drochak  <ndrochak@gol.com>
76
77         * StreamReader.cs: Throw exceptions where needed. Changed Null field to
78         use new internal class since null cannot be passed to constructor 
79         anymore. Also, fix a coule of small bugs.
80
81 2002-05-03  Nick Drochak  <ndrochak@gol.com>
82
83         * MemoryStream.cs: Refrain from allocating array until the space is
84         really needed. This fixes a bug in the Length property when the
85         constructor without the byte array is used.
86
87 2002-05-01  Duncan Mak  <duncan@ximian.com>
88
89         * DirectoryNotFoundException.cs (constructor): Added missing
90         serialization constructor.
91
92 2002-04-30  Duncan Mak  <duncan@ximian.com>
93
94         * FileLoadException.cs (constructors): Added missing (string,
95         string) ctor, as well as (string, string, Exception) ctor.
96
97         (Message): Added more info to the error message
98
99         (ToString): Added. We'll need to add the StackTrace stuff when
100         that works.
101
102         * FileShare.cs: Add a missing field, Inheritable.
103         
104         * TextReader.cs: Renamed Synchronised method to Synchronized.
105
106         * TextWriter.cs: Renamed Synchronised method to Synchronized.
107         Renamed protected member coreNewLine to CoreNewLine.
108
109 2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
110
111         * BinaryReader.cs: Allocate buffer before its first use.
112         Handle end of stream properly. Methods to read native types
113         (ReadInt* etc.) are little-endian (see Compact Framework docs).
114
115         * BinaryWriter.cs: Store data in little-endian format.
116         Use internal buffer for conversions.
117
118 2002-03-31  Dick Porter  <dick@ximian.com>
119
120         * Directory.cs: Strip out "." and ".." from returned list
121
122         * FileAttributes.cs: Get the right enum values
123
124 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
125
126         * TextWriter.cs (write): added check for null
127
128 2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
129
130         * Directory.cs: Throws DirectoryNotFoundException.
131         * MonoIO.cs: Fixed to work around enum problem.
132
133 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
134
135         * StreamReader.cs: Implemented ReadLine() and ReadEnd().
136
137 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
138
139         * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
140         DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
141         wrapper and PAL classes.
142
143         * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
144
145 2002-03-25  Mike Kestner <mkestner@speakeasy.net>
146
147         * MemoryStream.cs (Read): Fixed bug in exception throw.
148
149 2002-03-24  Mike Kestner <mkestner@speakeasy.net>
150
151         * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
152
153 2002-03-23  Martin Baulig  <martin@gnome.org>
154
155         * StreamReader.cs: Always do buffered reading, use 4k blocks.
156         (Read (char[], int, int)): Implemented.
157         (DiscardBufferedData): Implemented.
158
159 2002-03-21  Mike Kestner <mkestner@speakeasy.net>
160
161         * StreamReader.cs : Fill out, add buffering, and use encoding.
162
163 2002-03-19  Martin Baulig  <martin@gnome.org>
164
165         * StreamWriter.cs (StreamWriter (string)): The default is to override
166         the file, not to append to it.
167         (StreamWriter (string path, bool append)): When appending, seek to the
168         end of the file, otherwise truncate the file to zero length.
169         (Dispose (bool)): Close the internalStream.
170         (Flush): Flush the interalStream.
171         (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
172
173 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
174
175         * FileStream.cs: Flush buffer before FileSetLength.
176
177 2002-02-28  Miguel de Icaza  <miguel@ximian.com>
178
179         * Stream.cs (NullStream): Do not track position, this beast does
180         nothing in practice.
181
182 2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
183
184         * SearchPattern.cs: New class. Glob matching code for Directory.
185         * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
186
187 2002/03/15 Nick Drochak <ndrochak@gol.com>
188
189         * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
190         This code seemed to be copied from somewhere, and it was close,
191         but didn't match the docs.  This was the last bit needed to get
192         NAnt to compile with our class libs.
193
194 2002-03-12  Duncan Mak  <duncan@ximian.com>
195
196         * EndOfStreamException.cs:
197         * FileLoadException.cs:
198         * FileNotFoundException.cs:
199         * PathTooLongException.cs: Changed the base classes to IOException
200         instead of SystemException.
201
202         * IOException.cs: Added missing constructors.
203         
204 2002-03-07  Nick Drochak  <ndrochak@gol.com>
205
206         * FileMode.cs: Docs don't say this should be explicitly derived from
207         int, so just make it a normal Enum.
208
209 2002-03-02  Jason Diamond  <jason@injektilo.org>
210
211         * StringReader.cs: Fixed off-by-one error in Peek() and Read().
212
213 2002-02-12  Nick Drochak  <ndrochak@gol.com>
214
215         * PathTooLongException.cs: put it in the correct namespace
216         * EndOfStreamException.cs: put it in the correct namespace
217
218 Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
219
220         * Directory.cs: handle opendir() return NULL and absolute filenames.
221
222 2002-01-31  Duncan Mak  <duncan@ximian.com>
223
224         * FileLoadException.cs:
225         * FileNotFoundException: Added missing bits for serialization.
226
227 Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
228
229         * Directory.cs: allow directories in GetFiles() mask.
230
231 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
232
233         * FileInfo.c (CopyTo, MoveTo): Implement.
234
235         * FileStream.cs: Add argument checking to the constructor.
236
237         * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
238         OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
239         
240         * Directory.cs (Delete): reimplement without using DirectoryInfo.
241         (Delete): Implement the recursive version.
242         (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
243         (Move): Reimplement.
244         (getNames): dead code removal.
245
246         * Path.cs: define an internal DirectorySeparatorStr that we use in
247         a few spots.
248
249         * Wrapper.cs: Updated to new version.
250         
251         * DirectoryInfo (Delete): Implement using the Directory API.
252
253         * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
254         Delete, Create, Parent, Exists, MoveTo): Implement. 
255
256         * Directory.cs (GetListing): implement new utility function.
257         (GetDirectories): Implement.
258         (GetFileSystemEntries): Implement.
259         (GetFiles): Implement.
260
261         * CheckArgument.cs (Path): Do not allow null by default.
262
263 Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
264
265         * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
266         assembly in corlib.
267
268 2002-01-20 Nick Drochak  <ndrochak@gol.com>
269
270         * SeekOrigin.cs: Added Serializable attribute.
271
272 2002-01-19  Duncan Mak  <duncan@ximian.com>
273
274         * PathTooLongException.cs: 
275         * EndOfStreamException.cs: Added to CVS.
276
277 Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
278
279         * BufferedStream.cs: Initial implemenation.  The synchronous
280         methods for both reading and writing are implemented.  I'll do the
281         asynchronous methods in a bit.
282         
283 Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
284
285         * BinaryWriter.cs: Initial implementation.  And it's all there.
286
287         * BinaryReader.cs: The constructor now uses the passed in encoding,
288         not UTF8 always.
289
290 Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
291
292         * BinaryReader.cs: Initial implementation.  I think it's complete.
293
294 2002-01-04  Ravi Pratap  <ravi@ximian.com>
295
296         * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
297         attribute decorations.
298
299         * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
300         Path.cs, TextReader.cs, TextWriter.cs : Ditto.
301
302         * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
303         Ditto.
304
305 2001-12-11  Dick Porter  <dick@ximian.com>
306
307         * FileStream.cs: Use handles rather than casting file descriptors.
308         Added Handle property.
309
310 Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
311
312         * CheckPermission.cs: disable ModeAccess() code: it's wrong.
313         * FileStream.cs: only trow an exception if the read failed in ReadByte().
314         * StreamReader.cs: implement Peek and Read.
315         * TextWriter.cs: CLSCompliant updates.
316
317 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
318
319         * FileNotFoundException.cs: Added some constructors
320
321         * Path.cs (GetFullPath): Fixed implementation
322
323 Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
324
325         * DirectoryNotFoundException.cs: implemented.
326
327 Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
328
329         * File.cs: fix signatures of the Open() and OpenRead() functions
330         (they are static).
331
332 Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
333
334         * FileLoadException.cs, FileNotFoundException.cs: added.
335
336 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
337
338         * TextReader.cs: implemented the Read method
339
340         * StreamReader.cs: impl. stubs
341
342         * StreamWriter.cs: impl.
343
344         * TextWriter.cs: implemented Write and WriteLine methods
345
346 Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
347
348         * FileAccess.cs, FileMode.cs: change values to be compatible with
349         the ms ones.
350         
351 Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
352
353         * IOException.cs: Implemented System.IO.Exception.
354
355 2001-07-18  Michael Lambert <michaellambert@email.com>
356
357         *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
358
359 2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
360
361         * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
362         "LAMESPEC", but the tests work against the MS implementation so
363         the major functions are right (ie. Read/Write/Seek).  Some more
364         tests required for the various constructors and exceptions.
365
366 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
367
368         * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
369         New class implemenations.
370
371         * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.
372