2 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
4 * UTF8Encoding.cs: rewritten InternalGetByteCount () and
5 InternalGetBytes (): among other things this versions are
6 10% to 60% faster, depending on input type and size.
8 2008-09-28 Juraj Skripsky <js@hotfeet.ch>
10 * StringBuilder.cs (Replace): Return early when no oldValue was
11 found. Avoid extra string allocations.
13 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
15 * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
17 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
25 * ASCIIEncoding.cs: Fix parameter names
27 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
29 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
30 of String.Substring, as the former is guaranteed to create a new
31 string object. Fixes bug #395904.
33 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
35 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
37 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
40 Fixed misplaced leftOverSize reset in InternalGetCharCount().
41 Fixed base64 value for '+' (the value is actually unused though).
43 2008-03-27 Kornél Pál <kornelpal@gmail.com>
45 * Encoding.cs: Fix possible integer overflow in argument validation.
47 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
49 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
50 check. Found using Gendarme new UseIsOperator rule.
51 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
52 check. Found using Gendarme new UseIsOperator rule.
54 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
56 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
57 the same "\uFFFD" fix for encoder fallback.
58 Reduced extra instantiation of those fallbacks.
60 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
62 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
64 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
66 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
69 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
71 * UnicodeEncoding.cs : fix build.
73 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
75 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
76 input buffer. When fallback is not assigned, just return '\0'.
77 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
78 Default replacement fallback buffer is now "\uFFFD".
79 * UTF8Encoding.cs : couple of replacement buffer size fixes.
80 Default replacement fallback buffer is now "\uFFFD".
81 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
82 See http://support.microsoft.com/kb/940521/ for this change.
84 2007-08-15 Jb Evain <jbveain@novell.com>
86 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
87 the compile picks up the adequate method when AppendFormat
88 is used in 2.1 platform code.
90 2007-07-28 Miguel de Icaza <miguel@novell.com>
92 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
94 2007-05-03 Dick Porter <dick@ximian.com>
98 * UTF7Encoding.cs: Update to 2.0 profile
100 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
102 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
103 In Encoding.Default, catch both ArgumentException and NotSupportException.
105 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
107 * Encoding.cs : the change broke the build, so reverted part of it.
109 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
111 * Encoding.cs: Also set ParamName of the ArgumentException.
113 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
115 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
116 and above 0xffff. Modified NotSupportedException to ArgumentException in
117 GetEncoding (string).
119 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
121 * EncoderFallbackBuffer.cs : implement Reset().
123 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
125 * Encoding.cs: Make the GetByteCcount method used fixed pointers
126 removes quite a few allocations from Banshee.
128 2006-09-03 Zoltan Varga <vargaz@gmail.com>
130 * StringBuilder.cs (.ctor): Add a comment.
132 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
135 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
137 * UTF32Encoding.cs, UTF7Encoding.cs :
138 Fixed GetHashCode() and Equals() as well.
139 Added several missing overrides in 2.0.
141 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
143 * Encoding.cs : implemented IsAlwaysNormalized().
144 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
147 2006-07-18 Kornél Pál <kornelpal@gmail.com>
149 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
150 than new string (sbyte*, int, int) that uses Encoding.Default.
151 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
152 than new string (sbyte*, int, int) that uses Encoding.Default.
154 2006-07-11 Kornél Pál <kornelpal@gmail.com>
156 * StringBuilder.cs: Pad the string with NULL characters when setting
157 Length. This is now documented:
158 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
160 2006-07-06 Kornél Pál <kornelpal@gmail.com>
162 * CodePageEncoding.cs: Corrected comments.
163 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
164 ArgumentExceptions in private constructors.
165 * SurrogateEncoder.cs: Corrected comments.
167 2006-07-05 Kornél Pál <kornelpal@gmail.com>
169 * CodePageEncoding.cs: Return the same real object in subsequent
170 calls to GetRealObject ().
171 * MLangCodePageEncoding.cs: Return the same real object in
172 subsequent calls to GetRealObject (). Rename Encoder and Decoder
173 MLangEncoder and MLangDecoder. These classes are not serializable
174 in 1.x although MS.NET 2.0 can deserialize them.
175 * SurrogateEncoder.cs: Return the same real object in subsequent
176 calls to GetRealObject ().
178 2006-07-04 Kornél Pál <kornelpal@gmail.com>
180 * CodePageEncoding.cs: Added comment on usage.
181 * MLangCodePageEncoding.cs: Added comment on usage.
182 * SurrogateEncoder.cs: Added comment on usage.
184 2006-07-03 Kornél Pál <kornelpal@gmail.com>
186 * CodePageEncoding.cs: Added.
187 * MLangCodePageEncoding.cs: Added.
188 * SurrogateEncoder.cs: Added.
190 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
192 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
194 2006-06-24 Kornél Pál <kornelpal@gmail.com>
196 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
197 StreamReader should detect byte order marks.
199 2006-06-21 Kornél Pál <kornelpal@gmail.com>
201 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
204 2006-06-06 Kornél Pál <kornelpal@gmail.com>
206 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
207 profile 1.x as well because performance improvement is worth the
208 signature difference. (Fix regression of r61250.)
210 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
212 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
213 Marked 2.0-only members as ComVisible (false).
214 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
215 2.0-only members as ComVisible (false).
216 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
217 2.0-only members as ComVisible (false).
218 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
219 2.0-only members as ComVisible (false).
220 * NormalizationForm.cs: Marked ComVisible (true).
221 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
222 Marked 2.0-only methods as ComVisible (false).
223 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
224 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
225 missing ctor in 2.0 profile, and marked in MonoTODO.
226 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
227 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
229 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
231 * EncodingInfo.cs, Encoding.cs :
232 Implemented Encoding.GetEncodings(). It's so hacky!
234 2006-04-13 Kornél Pál <kornelpal@gmail.com>
236 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
237 as MS.NET does. This is a more reasonable high level wrapper
239 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
240 instead of using GetBytesInternal to be MS.NET compatible.
241 Override GetString (byte [], int, int) to speed up string creation.
243 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
245 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
247 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
249 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
250 check in some methods.
252 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
254 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
255 there are optimizations, but for now we need something just works).
257 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
259 * UTF8Encoding.cs : made internal implementation as pointer-based,
260 and added pointer-based converter method overloads.
262 2006-03-21 Kornél Pál <kornelpal@gmail.com>
264 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
267 2006-03-09 Zoltan Varga <vargaz@gmail.com>
269 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
271 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
273 * UTF8Encoding.cs : Fallback was indicating incorrect index.
276 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
278 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
279 in IL. 10% performance improvement.
281 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
283 * UTF8Encoding.cs : avoid possible overflow.
285 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
287 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
288 be checked. Also it should not ignore leftOver characters even if
289 byte buffer length is 0.
291 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
293 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
294 and InternalGetBytes().
296 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
299 actually leftover bits needs more careful handleding. So it's
300 better to be rather close to the original GetBytes().
301 Also changed leftOver handling so that it will be able to support
304 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
307 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
308 pointers. However, InternalGetBytes() was slower than
309 GetBytes(string, ...), so first replaced existing InternalGetBytes()
310 with GetBytes() internals, and GetBytes(string, ...) switched to
311 InternalGetBytes(). Now GetBytes() implementation code is reduced
314 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
316 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
317 Now it handles the entire bytes, not just half of them.
319 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
321 * UTF8Encoding.cs : zero-length check was wrong. Check it by
322 "charIndex == chars.Length" instead of "charCount == 0".
324 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
326 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
327 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
329 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
331 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
332 this time InternalGetChars() as well.
334 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
336 * StringBuilder.cs: Avoid computing computation for the string
339 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
341 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
344 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
346 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
349 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
351 * UTF7Encoding.cs UTF8Encoding.cs :
352 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
353 Make strict check for invalid surrogate.
355 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
357 * EncoderFallbackException.cs EncoderExceptionFallback.cs
358 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
359 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
360 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
361 DecoderFallbackException.cs DecoderExceptionFallback.cs
362 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
363 EncoderReplacementFallbackBuffer.cs :
364 include them in net_2_0bootstrap build.
366 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
368 * Decoder.cs : ditto.
370 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
372 * Encoder.cs : Fallback should be initialized to have an instance.
374 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
376 * Encoding.cs : Cloned instances should not be read-only.
378 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
380 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
382 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
384 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
385 byte*-based GetBytes().
386 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
387 which came to happen after introducing fallback buffer.
389 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
391 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
394 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
396 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
397 Added FallbackBuffer.
398 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
400 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
402 * EncodingInfo.cs : new file.
404 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
406 * UTF32Encoding.cs : Sealed. Added the overload which has
407 throwOnInvalid parameter.
408 * NormalizationForm.cs : removed [Serializable].
410 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
412 * Encoding.cs : added UTF32.
414 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
416 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
419 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
421 * UTF32Encoding.cs : new file.
423 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
425 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
426 * Encoding.cs : changed default fallback selection. Seems like only
427 ASCII and GB18030 uses '?' for replacement.
428 * UTF8Encoding.cs : now that Fallback is read only by default, we
431 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
433 * UTF8Encoding.cs : safer UTF8Decoder ctor.
435 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
437 * Decoder.cs : added FallbackBuffer property.
438 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
441 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
443 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
445 * EncoderReplacementFallbackBuffer.cs : implemented.
446 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
449 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
451 * DecoderFallbackBuffer.cs : Reset() does nothing here.
452 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
453 bytesUnknown is used.
455 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
457 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
459 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
461 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
462 * Encoder.cs : Added Fallback property.
463 * Decoder.cs : Added Fallback property.
465 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
467 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
468 EncoderExceptionFallbackBuffer.cs,
469 EncoderReplacementFallbackBuffer.cs,
470 EncoderFallbackException.cs,
471 EncoderExceptionFallback.cs,
472 EncoderReplacementFallback.cs : new files (not actually used yet).
473 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
474 DecoderReplacementFallback.cs : [Serializable] and sealed.
475 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
477 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
479 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
480 DecoderExceptionFallbackBuffer.cs,
481 DecoderReplacementFallbackBuffer.cs,
482 DecoderFallbackException.cs,
483 DecoderExceptionFallback.cs,
484 DecoderReplacementFallback.cs : new files (not actually used yet).
486 2005-11-14 Miguel de Icaza <miguel@novell.com>
488 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
491 Also add some checks that were missing.
493 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
495 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
496 were failing under 2.0) and two possible integer overflow in CopyTo.
498 2005-11-11 Miguel de Icaza <miguel@novell.com>
500 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
502 * StringBuilder.cs (Text): Added serialization support in 2.x.
504 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
506 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
507 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
508 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
509 ((ch & 0xFE) == 0xFC).
511 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
513 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
514 Don't exclude FEFF in the resulting text.
516 2005-06-21 Ben Maurer <bmaurer@ximian.com>
518 * StringBuilder.cs (Replace): Do the correct thing when we replace
519 with a longer string. Thanks to Alexander Beznozdrev
520 <abeznozdrev@croc.ru>
522 2005-05-26 Ben Maurer <bmaurer@ximian.com>
524 * Encoding.cs: Use static object for locking. `volatile' to
525 prevent double checked locking error.
527 * StringBuilder.cs: Remove = null inits on fields, saves a few
528 instructions. When we compare _cached_str == _str, we are only
529 interested in pointer based equality, so just do that.
531 2005-05-06 Ben Maurer <bmaurer@ximian.com>
533 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
534 the size we attempt to grow to is more than the max capacity, but
535 that a smaller size will do. In this case, don't throw an
536 exception. Fixes #72244
538 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
540 * NormalizationForm.cs : new file.
542 2005-03-20 Ben Maurer <bmaurer@ximian.com>
544 * StringBuilder.cs (set_Length): If we set the length, we must
545 clobber the cached string.
547 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
549 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
552 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
555 whose length is greater than 3. Patch by Svetlana Zholkovsky.
557 2005-01-31 Ben Maurer <bmaurer@ximian.com>
559 * StringBuilder.cs (Remove): We need to do the check that the
560 string isnt being cached *before* we munge it.
562 2005-01-21 Ben Maurer <bmaurer@ximian.com>
564 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
565 lazily. This saves us lots of memory if you only use the
566 stringbuilder once. Also, we can allocate on the second Append,
567 which might reduce the number of buffers allocated.
569 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
571 * StringBuilder.cs: Improved parameter check.
573 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
575 * StringBuilder.cs: when creating the StringBuilder from a string, the
576 maximum capacity remains Int32.MaxValue.
578 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
580 * StringBuilder.cs: throw if the new size is greater than the maximum
581 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
584 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
586 * UTF7Encoding.cs: Fixed warning for unused variable.
588 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
590 * Encoding.cs: Add encoding name "latin1" for compatibility with
593 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
595 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
597 2004-09-09 Tim Coleman <tim@timcoleman.com>
599 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
601 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
603 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
604 Follow the RFC1642 rules for "overbits".
606 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
608 * ASCIIEncoding.cs: added TODO for serialization
609 * StringBuilder.cs: added TODO for serialization
610 * UnicodeEncoding.cs: added TODO for serialization
611 * UTF7Encoding.cs: added TODO for serialization
612 * UTF8Encoding.cs: added TODO for serialization
614 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
616 * Encoding.cs: Marked protected internal field as internal to
619 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
621 * UTF8Encoding.cs : Length check must be done only when the character
622 sequence is valid (i.e. should not check when it is overlongs).
623 See also TestThrowOnInvalid().
625 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
627 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
629 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
631 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
632 true. Otherwise just ignore them.
634 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
636 * StringBuilder.cs: Fixed potential integer overflows in several
639 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
641 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
642 pair. This fix bug #57009 (and 2 failing unit tests). Added code
643 to check for some (like MS) overlongs.
645 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
647 * Encoding.cs: Use name const to load I18N assembly.
649 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
651 * Encoding.cs: Call shortcut String.ToLowerInvariant
653 2004-04-13 Miguel de Icaza <miguel@ximian.com>
655 * Encoding.cs: Use new internal codepage setup.
657 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
659 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
661 2004-03-19 Dick Porter <dick@ximian.com>
663 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
664 BOM at the beginning of the range of characters we're interested
665 in, not at the beginning of the array. Fixes bug 51531.
667 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
670 (Insert int, char[]): fix by using new string(char[]) instead of
671 char[].ToString() and simplify.
672 (Insert int, string, int): add LAMESPEC note.
673 (Insert int char[], int, int): handle value==null according to spec.
674 Use a string instead of char array + Array.Copy (gonzalo)
676 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
679 (Append (string)): remove redundant check.
681 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
684 (Remove): fixed offsets when copying and set the new size. Fixes bug
687 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
689 * StringBuilder.cs: added checks for null in a few Append methods.
691 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
693 * StringBuilder.cs: fixed start offset in Append(char).
695 2004-01-12 Patrik Torstensson
697 * StringBuilder.cs: new implementation that uses
698 string as a buffer instead of a array of chars.
700 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
702 * UTF8Encoding.cs (GetBytes string): Do not call base
703 The version in Encoding will call string.ToCharArray (),
704 allocating an extra array. By calling the better method
705 in our own class we can save memory.
707 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
709 * StringBuilder.cs (Insert int, char): It is really silly and
710 wasteful to allocate an array here. We can just copy the value
713 2003-11-11 Miguel de Icaza <miguel@ximian.com>
715 * Encoding.cs: Use an internal variable to track the parameters of
716 each encoder, since the .NET API does not expose virtual methods
717 in the child classes, we should not depend on that.
719 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
720 Initialize the parameters for base class encoding here.
722 2003-09-01 Miguel de Icaza <miguel@ximian.com>
724 * Encoding.cs (UTF8Unmarked): make it also not error out on
725 invalid input, that is what the Microsoft default is for the
726 StreamReader and BinaryReader expect (our main consumers).
728 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
731 (AppendFormat) Use FormatHelper in System.String to avoid
732 allocating an extra StringBuilder.
733 (Append string, int, int), (Append char, int): Both were
734 allocating extra strings.
736 2003-06-05 Nick Drochak <ndrochak@gol.com>
738 * UTF8Encoding.cs: Cleanups according to class status page
740 2003-05-10 Miguel de Icaza <miguel@ximian.com>
742 * Encoding.cs (GetEncoding): Add all the aliases documented in the
743 framework. We were missing a few.
745 Reorganize the table. Also, convert the input name into the
746 lower-case - to _ before we compare against our table.
748 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
750 * StringBuilder.cs: fixed bug #41397.
752 2003-04-12 Miguel de Icaza <miguel@ximian.com>
754 * Encoding.cs: Enabled the code paths that we did have commented
755 out, they seem to work now.
757 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
759 * StringBuilder.cs: cache the result from ToString().
761 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
763 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
764 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
766 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
768 * ASCIIEncoding.cs: fixed bug #38984.
770 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
773 * Latin1Encoding.cs: fix GetString (byte[]) and
774 GetString (byte[], int, int) for zero-length case.
776 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * Latin1Encoding.cs: added Serializable attribute.
780 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
782 * Encoding.cs: removed UnixConsoleEncoding.
784 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
786 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
787 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
788 This fixes the StringBuilder unit tests.
790 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
792 * StringBuilder.cs: fixed typo in set_Length.
794 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
796 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
797 encoding is not found, default to UTF8Unmarked. Removed comment in
798 UnixConsoleEncoding, because it's now Default, which gets the
799 encoding internally using g_get_encoding ().
801 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
803 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
805 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
807 * UTF8Encoding.cs: fix GetByteCount (), too.
809 2002-11-19 Miguel de Icaza <miguel@ximian.com>
811 * UnicodeEncoding.cs: the bytemark should only be used to return
812 information in GetPreamble, not to actually encode the information
813 on the stream. That is taken care of by the Stream classes.
815 * UTF8Encoding.cs: ditto.
817 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
819 * StringBuilder.cs: only move the remaining chars in Remove.
821 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
823 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
824 locking whenever possible.
826 2002-10-30 Miguel de Icaza <miguel@ximian.com>
828 * Encoding.cs (UTF8Unmarked): New static property, used to return
829 a no-markers UTf8 encoder, used in a few places in the class library.
831 2002-09-06 Miguel de Icaza <miguel@ximian.com>
833 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
834 what the Microsoft version does.
836 (UnixConsoleEncoding): New internal method, used to get the
837 encoding, in the future, this should pull the locale, map to
838 charset and then code page.
840 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
842 * Encoding.cs: use icall to get default codepage.
843 * DefaultEncoding.cs: remove useless class.
845 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
847 * *.cs: change to conform to mono coding style.
849 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
857 * UnicodeEncoding.cs: added Serializable attribute.
859 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
861 * StringBuilder.cs: improved performace by using String.InternalCopyTo
862 instead of using ToCharArray all over the place (more that 50% of
863 speed improvement when using Append).
865 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
867 * *.cs: imported the code donated by Rhys Weatherley
868 <rweather@southern-storm.com.au>.
870 2002-08-18 Dick Porter <dick@ximian.com>
872 * Encoding.cs: Make GetString() return a useful representation of
873 the bytes, rather than "System.Char[]"
875 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
877 * StringBuilder.cs: added IndexerName to indexer.
879 2002-08-01 Jason Diamond <jason@injektilo.org>
881 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
882 converting chars to bytes.
884 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
886 * StringBuilder.cs: updated comments. MaxCapacity always returns
889 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
891 * StringBuilder.cs: implemented AppendFormat methods using
892 String.Format. Thanks Paolo!
894 This makes xsp generate correct C# output in linux :-). I still need
895 to do more testing, though.
897 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
899 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
901 2002-05-19 Martin Baulig <martin@gnome.org>
903 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
904 Added exception handling.
906 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
907 Added exception handling.
909 2002/04/02 Nick Drochak <ndrochak@gol.com>
911 * StringBuilder.cs (Append): Removed obsolete overload.
913 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
915 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
917 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
919 * StringBuilder.cs: no need to intern the string returned by ToString().
921 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
923 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
924 dependent on iconv icalls.
925 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
928 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
930 * StringBuilder.cs: make ToString() return a interned string, this
931 seems to be required to make switch on string work.
933 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
935 * StringBuilder.cs: make Append(char) do the smart thing.
937 2002-01-05 Ravi Pratap <ravi@ximian.com>
939 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
940 UnicodeEncoding.cs: MonoTODO attribute marking.
942 * StringBuilder.cs : Ditto.
944 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
946 * Encoding.cs: renamed some fields.
947 * StringBuilder.cs: CLSCompliant updates.
949 2001-10-29 Nick Drochak <ndrochak@gol.com>
951 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
952 invalid. Just like MS does (as best as I can tell).
954 Tests for these exceptions are now added to the unit tests as well.
956 2001-10-25 Nick Drochak <ndrochak@gol.com>
958 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
959 whose capacity is greater than the MaxCapacity.
961 I added some tests for the constructors and the above exception. More
964 2001-10-23 Nick Drochak <ndrochak@gol.com>
966 * StringBuilder.cs: Refactored constructor code into just one
967 constructor. All the other construtors call it. Also supplied missing
968 constructors so the class has all those in the spec.
970 Added the MaxCapacity property as well, however this needs to be
971 completed to return a value is related to the available system memory.
973 2001-10-07 Miguel de Icaza <miguel@ximian.com>
975 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
976 UnicodeEncoding.cs: Corrected API.
978 * UTF8Encoding.cs: Checked in changes from Rafael.
980 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
982 * UTF8Encoding.cs: impl. clumsy GetBytes
984 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
986 * StringBuilder.cs (Text): Fixed.
988 * StringBuilderTest.cs: Implement Test suite.
990 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
992 * StringBuilder.cs: Implemented.
994 The only methods left unimplemented are the AppendFormat( ... )
995 ones just because it's probably better to wait until some of the
996 Format related classes are implemented. I've put that as a TODO
997 comment at the top and created the methods with a "nop" body.
999 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
1001 * UnicodeEncoding.cs: Members added so that a clean compile is
1004 * ASCIIEncoding.cs: Members added so that a clean compile is
1007 * UTF7Encoding.cs: Members added so that a clean compile is
1010 * UTF8Encoding.cs: Members added so that a clean compile is
1013 * Encoding.cs: All public members included. Most members