1 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
3 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
6 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
8 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
10 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
12 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
14 * EncodingInfo.cs : new file.
16 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
18 * UTF32Encoding.cs : Sealed. Added the overload which has
19 throwOnInvalid parameter.
20 * NormalizationForm.cs : removed [Serializable].
22 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
24 * Encoding.cs : added UTF32.
26 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
28 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
31 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
33 * UTF32Encoding.cs : new file.
35 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
37 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
38 * Encoding.cs : changed default fallback selection. Seems like only
39 ASCII and GB18030 uses '?' for replacement.
40 * UTF8Encoding.cs : now that Fallback is read only by default, we
43 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
45 * UTF8Encoding.cs : safer UTF8Decoder ctor.
47 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
49 * Decoder.cs : added FallbackBuffer property.
50 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
53 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
55 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
57 * EncoderReplacementFallbackBuffer.cs : implemented.
58 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
61 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
63 * DecoderFallbackBuffer.cs : Reset() does nothing here.
64 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
67 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
69 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
71 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
73 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
74 * Encoder.cs : Added Fallback property.
75 * Decoder.cs : Added Fallback property.
77 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
79 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
80 EncoderExceptionFallbackBuffer.cs,
81 EncoderReplacementFallbackBuffer.cs,
82 EncoderFallbackException.cs,
83 EncoderExceptionFallback.cs,
84 EncoderReplacementFallback.cs : new files (not actually used yet).
85 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
86 DecoderReplacementFallback.cs : [Serializable] and sealed.
87 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
89 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
91 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
92 DecoderExceptionFallbackBuffer.cs,
93 DecoderReplacementFallbackBuffer.cs,
94 DecoderFallbackException.cs,
95 DecoderExceptionFallback.cs,
96 DecoderReplacementFallback.cs : new files (not actually used yet).
98 2005-11-14 Miguel de Icaza <miguel@novell.com>
100 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
103 Also add some checks that were missing.
105 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
107 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
108 were failing under 2.0) and two possible integer overflow in CopyTo.
110 2005-11-11 Miguel de Icaza <miguel@novell.com>
112 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
114 * StringBuilder.cs (Text): Added serialization support in 2.x.
116 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
118 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
119 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
120 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
121 ((ch & 0xFE) == 0xFC).
123 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
125 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
126 Don't exclude FEFF in the resulting text.
128 2005-06-21 Ben Maurer <bmaurer@ximian.com>
130 * StringBuilder.cs (Replace): Do the correct thing when we replace
131 with a longer string. Thanks to Alexander Beznozdrev
132 <abeznozdrev@croc.ru>
134 2005-05-26 Ben Maurer <bmaurer@ximian.com>
136 * Encoding.cs: Use static object for locking. `volatile' to
137 prevent double checked locking error.
139 * StringBuilder.cs: Remove = null inits on fields, saves a few
140 instructions. When we compare _cached_str == _str, we are only
141 interested in pointer based equality, so just do that.
143 2005-05-06 Ben Maurer <bmaurer@ximian.com>
145 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
146 the size we attempt to grow to is more than the max capacity, but
147 that a smaller size will do. In this case, don't throw an
148 exception. Fixes #72244
150 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
152 * NormalizationForm.cs : new file.
154 2005-03-20 Ben Maurer <bmaurer@ximian.com>
156 * StringBuilder.cs (set_Length): If we set the length, we must
157 clobber the cached string.
159 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
161 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
164 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
166 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
167 whose length is greater than 3. Patch by Svetlana Zholkovsky.
169 2005-01-31 Ben Maurer <bmaurer@ximian.com>
171 * StringBuilder.cs (Remove): We need to do the check that the
172 string isnt being cached *before* we munge it.
174 2005-01-21 Ben Maurer <bmaurer@ximian.com>
176 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
177 lazily. This saves us lots of memory if you only use the
178 stringbuilder once. Also, we can allocate on the second Append,
179 which might reduce the number of buffers allocated.
181 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
183 * StringBuilder.cs: Improved parameter check.
185 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
187 * StringBuilder.cs: when creating the StringBuilder from a string, the
188 maximum capacity remains Int32.MaxValue.
190 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192 * StringBuilder.cs: throw if the new size is greater than the maximum
193 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
196 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
198 * UTF7Encoding.cs: Fixed warning for unused variable.
200 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
202 * Encoding.cs: Add encoding name "latin1" for compatibility with
205 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
207 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
209 2004-09-09 Tim Coleman <tim@timcoleman.com>
211 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
213 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
215 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
216 Follow the RFC1642 rules for "overbits".
218 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
220 * ASCIIEncoding.cs: added TODO for serialization
221 * StringBuilder.cs: added TODO for serialization
222 * UnicodeEncoding.cs: added TODO for serialization
223 * UTF7Encoding.cs: added TODO for serialization
224 * UTF8Encoding.cs: added TODO for serialization
226 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
228 * Encoding.cs: Marked protected internal field as internal to
231 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
233 * UTF8Encoding.cs : Length check must be done only when the character
234 sequence is valid (i.e. should not check when it is overlongs).
235 See also TestThrowOnInvalid().
237 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
239 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
241 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
243 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
244 true. Otherwise just ignore them.
246 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
248 * StringBuilder.cs: Fixed potential integer overflows in several
251 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
253 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
254 pair. This fix bug #57009 (and 2 failing unit tests). Added code
255 to check for some (like MS) overlongs.
257 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
259 * Encoding.cs: Use name const to load I18N assembly.
261 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
263 * Encoding.cs: Call shortcut String.ToLowerInvariant
265 2004-04-13 Miguel de Icaza <miguel@ximian.com>
267 * Encoding.cs: Use new internal codepage setup.
269 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
271 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
273 2004-03-19 Dick Porter <dick@ximian.com>
275 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
276 BOM at the beginning of the range of characters we're interested
277 in, not at the beginning of the array. Fixes bug 51531.
279 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
282 (Insert int, char[]): fix by using new string(char[]) instead of
283 char[].ToString() and simplify.
284 (Insert int, string, int): add LAMESPEC note.
285 (Insert int char[], int, int): handle value==null according to spec.
286 Use a string instead of char array + Array.Copy (gonzalo)
288 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
291 (Append (string)): remove redundant check.
293 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296 (Remove): fixed offsets when copying and set the new size. Fixes bug
299 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
301 * StringBuilder.cs: added checks for null in a few Append methods.
303 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
305 * StringBuilder.cs: fixed start offset in Append(char).
307 2004-01-12 Patrik Torstensson
309 * StringBuilder.cs: new implementation that uses
310 string as a buffer instead of a array of chars.
312 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
314 * UTF8Encoding.cs (GetBytes string): Do not call base
315 The version in Encoding will call string.ToCharArray (),
316 allocating an extra array. By calling the better method
317 in our own class we can save memory.
319 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
321 * StringBuilder.cs (Insert int, char): It is really silly and
322 wasteful to allocate an array here. We can just copy the value
325 2003-11-11 Miguel de Icaza <miguel@ximian.com>
327 * Encoding.cs: Use an internal variable to track the parameters of
328 each encoder, since the .NET API does not expose virtual methods
329 in the child classes, we should not depend on that.
331 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
332 Initialize the parameters for base class encoding here.
334 2003-09-01 Miguel de Icaza <miguel@ximian.com>
336 * Encoding.cs (UTF8Unmarked): make it also not error out on
337 invalid input, that is what the Microsoft default is for the
338 StreamReader and BinaryReader expect (our main consumers).
340 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
343 (AppendFormat) Use FormatHelper in System.String to avoid
344 allocating an extra StringBuilder.
345 (Append string, int, int), (Append char, int): Both were
346 allocating extra strings.
348 2003-06-05 Nick Drochak <ndrochak@gol.com>
350 * UTF8Encoding.cs: Cleanups according to class status page
352 2003-05-10 Miguel de Icaza <miguel@ximian.com>
354 * Encoding.cs (GetEncoding): Add all the aliases documented in the
355 framework. We were missing a few.
357 Reorganize the table. Also, convert the input name into the
358 lower-case - to _ before we compare against our table.
360 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
362 * StringBuilder.cs: fixed bug #41397.
364 2003-04-12 Miguel de Icaza <miguel@ximian.com>
366 * Encoding.cs: Enabled the code paths that we did have commented
367 out, they seem to work now.
369 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
371 * StringBuilder.cs: cache the result from ToString().
373 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
375 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
376 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
378 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
380 * ASCIIEncoding.cs: fixed bug #38984.
382 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
385 * Latin1Encoding.cs: fix GetString (byte[]) and
386 GetString (byte[], int, int) for zero-length case.
388 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
390 * Latin1Encoding.cs: added Serializable attribute.
392 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
394 * Encoding.cs: removed UnixConsoleEncoding.
396 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
398 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
399 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
400 This fixes the StringBuilder unit tests.
402 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
404 * StringBuilder.cs: fixed typo in set_Length.
406 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
408 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
409 encoding is not found, default to UTF8Unmarked. Removed comment in
410 UnixConsoleEncoding, because it's now Default, which gets the
411 encoding internally using g_get_encoding ().
413 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
415 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
417 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
419 * UTF8Encoding.cs: fix GetByteCount (), too.
421 2002-11-19 Miguel de Icaza <miguel@ximian.com>
423 * UnicodeEncoding.cs: the bytemark should only be used to return
424 information in GetPreamble, not to actually encode the information
425 on the stream. That is taken care of by the Stream classes.
427 * UTF8Encoding.cs: ditto.
429 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
431 * StringBuilder.cs: only move the remaining chars in Remove.
433 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
435 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
436 locking whenever possible.
438 2002-10-30 Miguel de Icaza <miguel@ximian.com>
440 * Encoding.cs (UTF8Unmarked): New static property, used to return
441 a no-markers UTf8 encoder, used in a few places in the class library.
443 2002-09-06 Miguel de Icaza <miguel@ximian.com>
445 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
446 what the Microsoft version does.
448 (UnixConsoleEncoding): New internal method, used to get the
449 encoding, in the future, this should pull the locale, map to
450 charset and then code page.
452 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
454 * Encoding.cs: use icall to get default codepage.
455 * DefaultEncoding.cs: remove useless class.
457 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
459 * *.cs: change to conform to mono coding style.
461 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
469 * UnicodeEncoding.cs: added Serializable attribute.
471 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
473 * StringBuilder.cs: improved performace by using String.InternalCopyTo
474 instead of using ToCharArray all over the place (more that 50% of
475 speed improvement when using Append).
477 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
479 * *.cs: imported the code donated by Rhys Weatherley
480 <rweather@southern-storm.com.au>.
482 2002-08-18 Dick Porter <dick@ximian.com>
484 * Encoding.cs: Make GetString() return a useful representation of
485 the bytes, rather than "System.Char[]"
487 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
489 * StringBuilder.cs: added IndexerName to indexer.
491 2002-08-01 Jason Diamond <jason@injektilo.org>
493 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
494 converting chars to bytes.
496 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
498 * StringBuilder.cs: updated comments. MaxCapacity always returns
501 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
503 * StringBuilder.cs: implemented AppendFormat methods using
504 String.Format. Thanks Paolo!
506 This makes xsp generate correct C# output in linux :-). I still need
507 to do more testing, though.
509 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
511 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
513 2002-05-19 Martin Baulig <martin@gnome.org>
515 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
516 Added exception handling.
518 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
519 Added exception handling.
521 2002/04/02 Nick Drochak <ndrochak@gol.com>
523 * StringBuilder.cs (Append): Removed obsolete overload.
525 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
527 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
529 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
531 * StringBuilder.cs: no need to intern the string returned by ToString().
533 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
535 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
536 dependent on iconv icalls.
537 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
540 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
542 * StringBuilder.cs: make ToString() return a interned string, this
543 seems to be required to make switch on string work.
545 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
547 * StringBuilder.cs: make Append(char) do the smart thing.
549 2002-01-05 Ravi Pratap <ravi@ximian.com>
551 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
552 UnicodeEncoding.cs: MonoTODO attribute marking.
554 * StringBuilder.cs : Ditto.
556 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
558 * Encoding.cs: renamed some fields.
559 * StringBuilder.cs: CLSCompliant updates.
561 2001-10-29 Nick Drochak <ndrochak@gol.com>
563 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
564 invalid. Just like MS does (as best as I can tell).
566 Tests for these exceptions are now added to the unit tests as well.
568 2001-10-25 Nick Drochak <ndrochak@gol.com>
570 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
571 whose capacity is greater than the MaxCapacity.
573 I added some tests for the constructors and the above exception. More
576 2001-10-23 Nick Drochak <ndrochak@gol.com>
578 * StringBuilder.cs: Refactored constructor code into just one
579 constructor. All the other construtors call it. Also supplied missing
580 constructors so the class has all those in the spec.
582 Added the MaxCapacity property as well, however this needs to be
583 completed to return a value is related to the available system memory.
585 2001-10-07 Miguel de Icaza <miguel@ximian.com>
587 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
588 UnicodeEncoding.cs: Corrected API.
590 * UTF8Encoding.cs: Checked in changes from Rafael.
592 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
594 * UTF8Encoding.cs: impl. clumsy GetBytes
596 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
598 * StringBuilder.cs (Text): Fixed.
600 * StringBuilderTest.cs: Implement Test suite.
602 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
604 * StringBuilder.cs: Implemented.
606 The only methods left unimplemented are the AppendFormat( ... )
607 ones just because it's probably better to wait until some of the
608 Format related classes are implemented. I've put that as a TODO
609 comment at the top and created the methods with a "nop" body.
611 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
613 * UnicodeEncoding.cs: Members added so that a clean compile is
616 * ASCIIEncoding.cs: Members added so that a clean compile is
619 * UTF7Encoding.cs: Members added so that a clean compile is
622 * UTF8Encoding.cs: Members added so that a clean compile is
625 * Encoding.cs: All public members included. Most members