1 2005-05-26 Ben Maurer <bmaurer@ximian.com>
3 * Encoding.cs: Use static object for locking. `volatile' to
4 prevent double checked locking error.
6 * StringBuilder.cs: Remove = null inits on fields, saves a few
7 instructions. When we compare _cached_str == _str, we are only
8 interested in pointer based equality, so just do that.
10 2005-05-06 Ben Maurer <bmaurer@ximian.com>
12 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
13 the size we attempt to grow to is more than the max capacity, but
14 that a smaller size will do. In this case, don't throw an
15 exception. Fixes #72244
17 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
19 * NormalizationForm.cs : new file.
21 2005-03-20 Ben Maurer <bmaurer@ximian.com>
23 * StringBuilder.cs (set_Length): If we set the length, we must
24 clobber the cached string.
26 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
28 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
31 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
33 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
34 whose length is greater than 3. Patch by Svetlana Zholkovsky.
36 2005-01-31 Ben Maurer <bmaurer@ximian.com>
38 * StringBuilder.cs (Remove): We need to do the check that the
39 string isnt being cached *before* we munge it.
41 2005-01-21 Ben Maurer <bmaurer@ximian.com>
43 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
44 lazily. This saves us lots of memory if you only use the
45 stringbuilder once. Also, we can allocate on the second Append,
46 which might reduce the number of buffers allocated.
48 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
50 * StringBuilder.cs: Improved parameter check.
52 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
54 * StringBuilder.cs: when creating the StringBuilder from a string, the
55 maximum capacity remains Int32.MaxValue.
57 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
59 * StringBuilder.cs: throw if the new size is greater than the maximum
60 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
63 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
65 * UTF7Encoding.cs: Fixed warning for unused variable.
67 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
69 * Encoding.cs: Add encoding name "latin1" for compatibility with
72 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
74 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
76 2004-09-09 Tim Coleman <tim@timcoleman.com>
78 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
80 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
82 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
83 Follow the RFC1642 rules for "overbits".
85 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
87 * ASCIIEncoding.cs: added TODO for serialization
88 * StringBuilder.cs: added TODO for serialization
89 * UnicodeEncoding.cs: added TODO for serialization
90 * UTF7Encoding.cs: added TODO for serialization
91 * UTF8Encoding.cs: added TODO for serialization
93 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
95 * Encoding.cs: Marked protected internal field as internal to
98 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
100 * UTF8Encoding.cs : Length check must be done only when the character
101 sequence is valid (i.e. should not check when it is overlongs).
102 See also TestThrowOnInvalid().
104 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
106 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
108 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
110 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
111 true. Otherwise just ignore them.
113 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
115 * StringBuilder.cs: Fixed potential integer overflows in several
118 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
120 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
121 pair. This fix bug #57009 (and 2 failing unit tests). Added code
122 to check for some (like MS) overlongs.
124 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
126 * Encoding.cs: Use name const to load I18N assembly.
128 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
130 * Encoding.cs: Call shortcut String.ToLowerInvariant
132 2004-04-13 Miguel de Icaza <miguel@ximian.com>
134 * Encoding.cs: Use new internal codepage setup.
136 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
138 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
140 2004-03-19 Dick Porter <dick@ximian.com>
142 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
143 BOM at the beginning of the range of characters we're interested
144 in, not at the beginning of the array. Fixes bug 51531.
146 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
149 (Insert int, char[]): fix by using new string(char[]) instead of
150 char[].ToString() and simplify.
151 (Insert int, string, int): add LAMESPEC note.
152 (Insert int char[], int, int): handle value==null according to spec.
153 Use a string instead of char array + Array.Copy (gonzalo)
155 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
158 (Append (string)): remove redundant check.
160 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
163 (Remove): fixed offsets when copying and set the new size. Fixes bug
166 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
168 * StringBuilder.cs: added checks for null in a few Append methods.
170 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
172 * StringBuilder.cs: fixed start offset in Append(char).
174 2004-01-12 Patrik Torstensson
176 * StringBuilder.cs: new implementation that uses
177 string as a buffer instead of a array of chars.
179 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
181 * UTF8Encoding.cs (GetBytes string): Do not call base
182 The version in Encoding will call string.ToCharArray (),
183 allocating an extra array. By calling the better method
184 in our own class we can save memory.
186 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
188 * StringBuilder.cs (Insert int, char): It is really silly and
189 wasteful to allocate an array here. We can just copy the value
192 2003-11-11 Miguel de Icaza <miguel@ximian.com>
194 * Encoding.cs: Use an internal variable to track the parameters of
195 each encoder, since the .NET API does not expose virtual methods
196 in the child classes, we should not depend on that.
198 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
199 Initialize the parameters for base class encoding here.
201 2003-09-01 Miguel de Icaza <miguel@ximian.com>
203 * Encoding.cs (UTF8Unmarked): make it also not error out on
204 invalid input, that is what the Microsoft default is for the
205 StreamReader and BinaryReader expect (our main consumers).
207 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
210 (AppendFormat) Use FormatHelper in System.String to avoid
211 allocating an extra StringBuilder.
212 (Append string, int, int), (Append char, int): Both were
213 allocating extra strings.
215 2003-06-05 Nick Drochak <ndrochak@gol.com>
217 * UTF8Encoding.cs: Cleanups according to class status page
219 2003-05-10 Miguel de Icaza <miguel@ximian.com>
221 * Encoding.cs (GetEncoding): Add all the aliases documented in the
222 framework. We were missing a few.
224 Reorganize the table. Also, convert the input name into the
225 lower-case - to _ before we compare against our table.
227 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
229 * StringBuilder.cs: fixed bug #41397.
231 2003-04-12 Miguel de Icaza <miguel@ximian.com>
233 * Encoding.cs: Enabled the code paths that we did have commented
234 out, they seem to work now.
236 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
238 * StringBuilder.cs: cache the result from ToString().
240 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
242 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
243 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
245 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
247 * ASCIIEncoding.cs: fixed bug #38984.
249 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
252 * Latin1Encoding.cs: fix GetString (byte[]) and
253 GetString (byte[], int, int) for zero-length case.
255 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
257 * Latin1Encoding.cs: added Serializable attribute.
259 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
261 * Encoding.cs: removed UnixConsoleEncoding.
263 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
265 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
266 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
267 This fixes the StringBuilder unit tests.
269 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
271 * StringBuilder.cs: fixed typo in set_Length.
273 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
275 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
276 encoding is not found, default to UTF8Unmarked. Removed comment in
277 UnixConsoleEncoding, because it's now Default, which gets the
278 encoding internally using g_get_encoding ().
280 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
282 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
284 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
286 * UTF8Encoding.cs: fix GetByteCount (), too.
288 2002-11-19 Miguel de Icaza <miguel@ximian.com>
290 * UnicodeEncoding.cs: the bytemark should only be used to return
291 information in GetPreamble, not to actually encode the information
292 on the stream. That is taken care of by the Stream classes.
294 * UTF8Encoding.cs: ditto.
296 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
298 * StringBuilder.cs: only move the remaining chars in Remove.
300 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
302 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
303 locking whenever possible.
305 2002-10-30 Miguel de Icaza <miguel@ximian.com>
307 * Encoding.cs (UTF8Unmarked): New static property, used to return
308 a no-markers UTf8 encoder, used in a few places in the class library.
310 2002-09-06 Miguel de Icaza <miguel@ximian.com>
312 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
313 what the Microsoft version does.
315 (UnixConsoleEncoding): New internal method, used to get the
316 encoding, in the future, this should pull the locale, map to
317 charset and then code page.
319 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
321 * Encoding.cs: use icall to get default codepage.
322 * DefaultEncoding.cs: remove useless class.
324 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
326 * *.cs: change to conform to mono coding style.
328 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
336 * UnicodeEncoding.cs: added Serializable attribute.
338 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
340 * StringBuilder.cs: improved performace by using String.InternalCopyTo
341 instead of using ToCharArray all over the place (more that 50% of
342 speed improvement when using Append).
344 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
346 * *.cs: imported the code donated by Rhys Weatherley
347 <rweather@southern-storm.com.au>.
349 2002-08-18 Dick Porter <dick@ximian.com>
351 * Encoding.cs: Make GetString() return a useful representation of
352 the bytes, rather than "System.Char[]"
354 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
356 * StringBuilder.cs: added IndexerName to indexer.
358 2002-08-01 Jason Diamond <jason@injektilo.org>
360 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
361 converting chars to bytes.
363 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
365 * StringBuilder.cs: updated comments. MaxCapacity always returns
368 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
370 * StringBuilder.cs: implemented AppendFormat methods using
371 String.Format. Thanks Paolo!
373 This makes xsp generate correct C# output in linux :-). I still need
374 to do more testing, though.
376 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
378 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
380 2002-05-19 Martin Baulig <martin@gnome.org>
382 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
383 Added exception handling.
385 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
386 Added exception handling.
388 2002/04/02 Nick Drochak <ndrochak@gol.com>
390 * StringBuilder.cs (Append): Removed obsolete overload.
392 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
394 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
396 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
398 * StringBuilder.cs: no need to intern the string returned by ToString().
400 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
402 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
403 dependent on iconv icalls.
404 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
407 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
409 * StringBuilder.cs: make ToString() return a interned string, this
410 seems to be required to make switch on string work.
412 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
414 * StringBuilder.cs: make Append(char) do the smart thing.
416 2002-01-05 Ravi Pratap <ravi@ximian.com>
418 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
419 UnicodeEncoding.cs: MonoTODO attribute marking.
421 * StringBuilder.cs : Ditto.
423 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
425 * Encoding.cs: renamed some fields.
426 * StringBuilder.cs: CLSCompliant updates.
428 2001-10-29 Nick Drochak <ndrochak@gol.com>
430 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
431 invalid. Just like MS does (as best as I can tell).
433 Tests for these exceptions are now added to the unit tests as well.
435 2001-10-25 Nick Drochak <ndrochak@gol.com>
437 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
438 whose capacity is greater than the MaxCapacity.
440 I added some tests for the constructors and the above exception. More
443 2001-10-23 Nick Drochak <ndrochak@gol.com>
445 * StringBuilder.cs: Refactored constructor code into just one
446 constructor. All the other construtors call it. Also supplied missing
447 constructors so the class has all those in the spec.
449 Added the MaxCapacity property as well, however this needs to be
450 completed to return a value is related to the available system memory.
452 2001-10-07 Miguel de Icaza <miguel@ximian.com>
454 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
455 UnicodeEncoding.cs: Corrected API.
457 * UTF8Encoding.cs: Checked in changes from Rafael.
459 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
461 * UTF8Encoding.cs: impl. clumsy GetBytes
463 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
465 * StringBuilder.cs (Text): Fixed.
467 * StringBuilderTest.cs: Implement Test suite.
469 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
471 * StringBuilder.cs: Implemented.
473 The only methods left unimplemented are the AppendFormat( ... )
474 ones just because it's probably better to wait until some of the
475 Format related classes are implemented. I've put that as a TODO
476 comment at the top and created the methods with a "nop" body.
478 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
480 * UnicodeEncoding.cs: Members added so that a clean compile is
483 * ASCIIEncoding.cs: Members added so that a clean compile is
486 * UTF7Encoding.cs: Members added so that a clean compile is
489 * UTF8Encoding.cs: Members added so that a clean compile is
492 * Encoding.cs: All public members included. Most members