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