1 2010-06-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
3 * StringBuilder.cs: Moonlight needs Clear too.
5 2010-03-16 Jb Evain <jbevain@novell.com>
7 * StringBuilder.cs, Encoding.cs: use MOONLIGHT symbol to
8 disambiguate MonoTouch and Moonlight code.
10 2010-02-02 Jb Evain <jbevain@novell.com>
12 * ASCIIEncoding.cs, Latin1Encoding.cs: remove duplicated code.
14 2009-12-09 Chris Toshok <toshok@ximian.com>
16 * Encoding.cs (get_Default): moonlight defaults to UTF8, not
19 2009-11-24 Marek Safar <marek.safar@gmail.com>
21 * UTF8Encoding.cs (GetPreamble): Let compiler optimize it.
23 2009-11-02 Miguel de Icaza <miguel@novell.com>
25 * Jumbo patch to drop support for pre-NET_2_0 code:
27 Remove NET_2_0 defines assuming the value is true.
29 2009-10-22 Miguel de Icaza <miguel@novell.com>
31 * StringBuilder.cs (Text): Add new 4.0 method.
33 2009-10-06 Sebastien Pouliot <sebastien@ximian.com>
35 * Encoding.cs: Remove normalization methods for Moonlight
37 2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
39 * Encoding.cs: Add back UTF32 since it's useful for smcs
41 2009-09-22 Sebastien Pouliot <sebastien@ximian.com>
43 * Encoding.cs: Remove UTF32, Latin1 and custom (loaded code)
46 2009-07-28 Miguel de Icaza <miguel@novell.com>
48 * UTF8Encoding.cs: Small optimization, reuse the static
49 EncoderFallback and DecoderFallback instead of creating new ones.
51 * UTF8Encoding.cs: Use Equals to compare the objects as the
52 fallback objects do not overload operator ==. The comparison
53 was previously failing.
55 2009-07-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
57 * StringBuilder.cs: don't throw on null values in ctor(string, int).
58 Unify another ctor into the main one to account for MaxCapacity.
60 2009-07-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
62 * StringBuilder.cs: small fixes dealing with _maxCapacity.
64 2009-02-05 Gert Driesen <drieseng@users.sourceforge.net>
66 * UTF32Encoding.cs: Added missing argument check in GetByteCount
67 (char*, int) overload.
69 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
71 * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
74 2009-01-30 Atsushi Enomoto <atsushi@ximian.com>
76 * UTF8Encoding.cs : surrogate characters are handled in
77 InternalGetChars() but not in InternalGetCharCount().
80 2009-01-13 Jb Evain <jbevain@novell.com>
82 * Encoding.cs: when creating a ForwardingEncoder or a
83 ForwardingDecoder, don't crash if the Encoding doesn't
84 provide an EncoderFallback or a DecoderFallback.
86 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
88 * UTF8Encoding.cs: rewritten InternalGetByteCount () and
89 InternalGetBytes (): among other things this versions are
90 10% to 60% faster, depending on input type and size.
92 2008-09-28 Juraj Skripsky <js@hotfeet.ch>
94 * StringBuilder.cs (Replace): Return early when no oldValue was
95 found. Avoid extra string allocations.
97 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
99 * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
101 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
109 * ASCIIEncoding.cs: Fix parameter names
111 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
113 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
114 of String.Substring, as the former is guaranteed to create a new
115 string object. Fixes bug #395904.
117 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
119 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
121 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
124 Fixed misplaced leftOverSize reset in InternalGetCharCount().
125 Fixed base64 value for '+' (the value is actually unused though).
127 2008-03-27 Kornél Pál <kornelpal@gmail.com>
129 * Encoding.cs: Fix possible integer overflow in argument validation.
131 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
133 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
134 check. Found using Gendarme new UseIsOperator rule.
135 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
136 check. Found using Gendarme new UseIsOperator rule.
138 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
140 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
141 the same "\uFFFD" fix for encoder fallback.
142 Reduced extra instantiation of those fallbacks.
144 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
146 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
148 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
150 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
153 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
155 * UnicodeEncoding.cs : fix build.
157 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
159 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
160 input buffer. When fallback is not assigned, just return '\0'.
161 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
162 Default replacement fallback buffer is now "\uFFFD".
163 * UTF8Encoding.cs : couple of replacement buffer size fixes.
164 Default replacement fallback buffer is now "\uFFFD".
165 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
166 See http://support.microsoft.com/kb/940521/ for this change.
168 2007-08-15 Jb Evain <jbveain@novell.com>
170 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
171 the compile picks up the adequate method when AppendFormat
172 is used in 2.1 platform code.
174 2007-07-28 Miguel de Icaza <miguel@novell.com>
176 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
178 2007-05-03 Dick Porter <dick@ximian.com>
181 * UnicodeEncoding.cs:
182 * UTF7Encoding.cs: Update to 2.0 profile
184 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
186 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
187 In Encoding.Default, catch both ArgumentException and NotSupportException.
189 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
191 * Encoding.cs : the change broke the build, so reverted part of it.
193 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
195 * Encoding.cs: Also set ParamName of the ArgumentException.
197 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
199 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
200 and above 0xffff. Modified NotSupportedException to ArgumentException in
201 GetEncoding (string).
203 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
205 * EncoderFallbackBuffer.cs : implement Reset().
207 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
209 * Encoding.cs: Make the GetByteCcount method used fixed pointers
210 removes quite a few allocations from Banshee.
212 2006-09-03 Zoltan Varga <vargaz@gmail.com>
214 * StringBuilder.cs (.ctor): Add a comment.
216 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
219 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
221 * UTF32Encoding.cs, UTF7Encoding.cs :
222 Fixed GetHashCode() and Equals() as well.
223 Added several missing overrides in 2.0.
225 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
227 * Encoding.cs : implemented IsAlwaysNormalized().
228 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
231 2006-07-18 Kornél Pál <kornelpal@gmail.com>
233 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
234 than new string (sbyte*, int, int) that uses Encoding.Default.
235 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
236 than new string (sbyte*, int, int) that uses Encoding.Default.
238 2006-07-11 Kornél Pál <kornelpal@gmail.com>
240 * StringBuilder.cs: Pad the string with NULL characters when setting
241 Length. This is now documented:
242 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
244 2006-07-06 Kornél Pál <kornelpal@gmail.com>
246 * CodePageEncoding.cs: Corrected comments.
247 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
248 ArgumentExceptions in private constructors.
249 * SurrogateEncoder.cs: Corrected comments.
251 2006-07-05 Kornél Pál <kornelpal@gmail.com>
253 * CodePageEncoding.cs: Return the same real object in subsequent
254 calls to GetRealObject ().
255 * MLangCodePageEncoding.cs: Return the same real object in
256 subsequent calls to GetRealObject (). Rename Encoder and Decoder
257 MLangEncoder and MLangDecoder. These classes are not serializable
258 in 1.x although MS.NET 2.0 can deserialize them.
259 * SurrogateEncoder.cs: Return the same real object in subsequent
260 calls to GetRealObject ().
262 2006-07-04 Kornél Pál <kornelpal@gmail.com>
264 * CodePageEncoding.cs: Added comment on usage.
265 * MLangCodePageEncoding.cs: Added comment on usage.
266 * SurrogateEncoder.cs: Added comment on usage.
268 2006-07-03 Kornél Pál <kornelpal@gmail.com>
270 * CodePageEncoding.cs: Added.
271 * MLangCodePageEncoding.cs: Added.
272 * SurrogateEncoder.cs: Added.
274 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
276 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
278 2006-06-24 Kornél Pál <kornelpal@gmail.com>
280 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
281 StreamReader should detect byte order marks.
283 2006-06-21 Kornél Pál <kornelpal@gmail.com>
285 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
288 2006-06-06 Kornél Pál <kornelpal@gmail.com>
290 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
291 profile 1.x as well because performance improvement is worth the
292 signature difference. (Fix regression of r61250.)
294 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
296 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
297 Marked 2.0-only members as ComVisible (false).
298 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
299 2.0-only members as ComVisible (false).
300 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
301 2.0-only members as ComVisible (false).
302 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
303 2.0-only members as ComVisible (false).
304 * NormalizationForm.cs: Marked ComVisible (true).
305 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
306 Marked 2.0-only methods as ComVisible (false).
307 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
308 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
309 missing ctor in 2.0 profile, and marked in MonoTODO.
310 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
311 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
313 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
315 * EncodingInfo.cs, Encoding.cs :
316 Implemented Encoding.GetEncodings(). It's so hacky!
318 2006-04-13 Kornél Pál <kornelpal@gmail.com>
320 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
321 as MS.NET does. This is a more reasonable high level wrapper
323 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
324 instead of using GetBytesInternal to be MS.NET compatible.
325 Override GetString (byte [], int, int) to speed up string creation.
327 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
329 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
331 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
333 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
334 check in some methods.
336 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
338 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
339 there are optimizations, but for now we need something just works).
341 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
343 * UTF8Encoding.cs : made internal implementation as pointer-based,
344 and added pointer-based converter method overloads.
346 2006-03-21 Kornél Pál <kornelpal@gmail.com>
348 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
351 2006-03-09 Zoltan Varga <vargaz@gmail.com>
353 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
355 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
357 * UTF8Encoding.cs : Fallback was indicating incorrect index.
360 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
362 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
363 in IL. 10% performance improvement.
365 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
367 * UTF8Encoding.cs : avoid possible overflow.
369 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
371 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
372 be checked. Also it should not ignore leftOver characters even if
373 byte buffer length is 0.
375 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
377 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
378 and InternalGetBytes().
380 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
383 actually leftover bits needs more careful handleding. So it's
384 better to be rather close to the original GetBytes().
385 Also changed leftOver handling so that it will be able to support
388 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
391 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
392 pointers. However, InternalGetBytes() was slower than
393 GetBytes(string, ...), so first replaced existing InternalGetBytes()
394 with GetBytes() internals, and GetBytes(string, ...) switched to
395 InternalGetBytes(). Now GetBytes() implementation code is reduced
398 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
400 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
401 Now it handles the entire bytes, not just half of them.
403 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
405 * UTF8Encoding.cs : zero-length check was wrong. Check it by
406 "charIndex == chars.Length" instead of "charCount == 0".
408 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
410 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
411 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
413 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
415 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
416 this time InternalGetChars() as well.
418 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
420 * StringBuilder.cs: Avoid computing computation for the string
423 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
425 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
428 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
430 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
433 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
435 * UTF7Encoding.cs UTF8Encoding.cs :
436 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
437 Make strict check for invalid surrogate.
439 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
441 * EncoderFallbackException.cs EncoderExceptionFallback.cs
442 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
443 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
444 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
445 DecoderFallbackException.cs DecoderExceptionFallback.cs
446 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
447 EncoderReplacementFallbackBuffer.cs :
448 include them in net_2_0bootstrap build.
450 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
452 * Decoder.cs : ditto.
454 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
456 * Encoder.cs : Fallback should be initialized to have an instance.
458 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
460 * Encoding.cs : Cloned instances should not be read-only.
462 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
464 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
466 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
468 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
469 byte*-based GetBytes().
470 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
471 which came to happen after introducing fallback buffer.
473 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
475 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
478 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
480 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
481 Added FallbackBuffer.
482 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
484 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
486 * EncodingInfo.cs : new file.
488 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
490 * UTF32Encoding.cs : Sealed. Added the overload which has
491 throwOnInvalid parameter.
492 * NormalizationForm.cs : removed [Serializable].
494 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
496 * Encoding.cs : added UTF32.
498 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
500 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
503 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
505 * UTF32Encoding.cs : new file.
507 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
509 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
510 * Encoding.cs : changed default fallback selection. Seems like only
511 ASCII and GB18030 uses '?' for replacement.
512 * UTF8Encoding.cs : now that Fallback is read only by default, we
515 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
517 * UTF8Encoding.cs : safer UTF8Decoder ctor.
519 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
521 * Decoder.cs : added FallbackBuffer property.
522 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
525 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
527 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
529 * EncoderReplacementFallbackBuffer.cs : implemented.
530 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
533 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
535 * DecoderFallbackBuffer.cs : Reset() does nothing here.
536 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
537 bytesUnknown is used.
539 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
541 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
543 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
545 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
546 * Encoder.cs : Added Fallback property.
547 * Decoder.cs : Added Fallback property.
549 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
551 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
552 EncoderExceptionFallbackBuffer.cs,
553 EncoderReplacementFallbackBuffer.cs,
554 EncoderFallbackException.cs,
555 EncoderExceptionFallback.cs,
556 EncoderReplacementFallback.cs : new files (not actually used yet).
557 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
558 DecoderReplacementFallback.cs : [Serializable] and sealed.
559 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
561 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
563 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
564 DecoderExceptionFallbackBuffer.cs,
565 DecoderReplacementFallbackBuffer.cs,
566 DecoderFallbackException.cs,
567 DecoderExceptionFallback.cs,
568 DecoderReplacementFallback.cs : new files (not actually used yet).
570 2005-11-14 Miguel de Icaza <miguel@novell.com>
572 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
575 Also add some checks that were missing.
577 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
579 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
580 were failing under 2.0) and two possible integer overflow in CopyTo.
582 2005-11-11 Miguel de Icaza <miguel@novell.com>
584 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
586 * StringBuilder.cs (Text): Added serialization support in 2.x.
588 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
590 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
591 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
592 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
593 ((ch & 0xFE) == 0xFC).
595 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
597 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
598 Don't exclude FEFF in the resulting text.
600 2005-06-21 Ben Maurer <bmaurer@ximian.com>
602 * StringBuilder.cs (Replace): Do the correct thing when we replace
603 with a longer string. Thanks to Alexander Beznozdrev
604 <abeznozdrev@croc.ru>
606 2005-05-26 Ben Maurer <bmaurer@ximian.com>
608 * Encoding.cs: Use static object for locking. `volatile' to
609 prevent double checked locking error.
611 * StringBuilder.cs: Remove = null inits on fields, saves a few
612 instructions. When we compare _cached_str == _str, we are only
613 interested in pointer based equality, so just do that.
615 2005-05-06 Ben Maurer <bmaurer@ximian.com>
617 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
618 the size we attempt to grow to is more than the max capacity, but
619 that a smaller size will do. In this case, don't throw an
620 exception. Fixes #72244
622 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
624 * NormalizationForm.cs : new file.
626 2005-03-20 Ben Maurer <bmaurer@ximian.com>
628 * StringBuilder.cs (set_Length): If we set the length, we must
629 clobber the cached string.
631 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
633 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
636 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
638 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
639 whose length is greater than 3. Patch by Svetlana Zholkovsky.
641 2005-01-31 Ben Maurer <bmaurer@ximian.com>
643 * StringBuilder.cs (Remove): We need to do the check that the
644 string isnt being cached *before* we munge it.
646 2005-01-21 Ben Maurer <bmaurer@ximian.com>
648 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
649 lazily. This saves us lots of memory if you only use the
650 stringbuilder once. Also, we can allocate on the second Append,
651 which might reduce the number of buffers allocated.
653 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
655 * StringBuilder.cs: Improved parameter check.
657 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
659 * StringBuilder.cs: when creating the StringBuilder from a string, the
660 maximum capacity remains Int32.MaxValue.
662 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
664 * StringBuilder.cs: throw if the new size is greater than the maximum
665 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
668 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
670 * UTF7Encoding.cs: Fixed warning for unused variable.
672 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
674 * Encoding.cs: Add encoding name "latin1" for compatibility with
677 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
679 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
681 2004-09-09 Tim Coleman <tim@timcoleman.com>
683 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
685 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
687 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
688 Follow the RFC1642 rules for "overbits".
690 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
692 * ASCIIEncoding.cs: added TODO for serialization
693 * StringBuilder.cs: added TODO for serialization
694 * UnicodeEncoding.cs: added TODO for serialization
695 * UTF7Encoding.cs: added TODO for serialization
696 * UTF8Encoding.cs: added TODO for serialization
698 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
700 * Encoding.cs: Marked protected internal field as internal to
703 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
705 * UTF8Encoding.cs : Length check must be done only when the character
706 sequence is valid (i.e. should not check when it is overlongs).
707 See also TestThrowOnInvalid().
709 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
711 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
713 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
715 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
716 true. Otherwise just ignore them.
718 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
720 * StringBuilder.cs: Fixed potential integer overflows in several
723 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
725 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
726 pair. This fix bug #57009 (and 2 failing unit tests). Added code
727 to check for some (like MS) overlongs.
729 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
731 * Encoding.cs: Use name const to load I18N assembly.
733 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
735 * Encoding.cs: Call shortcut String.ToLowerInvariant
737 2004-04-13 Miguel de Icaza <miguel@ximian.com>
739 * Encoding.cs: Use new internal codepage setup.
741 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
743 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
745 2004-03-19 Dick Porter <dick@ximian.com>
747 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
748 BOM at the beginning of the range of characters we're interested
749 in, not at the beginning of the array. Fixes bug 51531.
751 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
754 (Insert int, char[]): fix by using new string(char[]) instead of
755 char[].ToString() and simplify.
756 (Insert int, string, int): add LAMESPEC note.
757 (Insert int char[], int, int): handle value==null according to spec.
758 Use a string instead of char array + Array.Copy (gonzalo)
760 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
763 (Append (string)): remove redundant check.
765 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
768 (Remove): fixed offsets when copying and set the new size. Fixes bug
771 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
773 * StringBuilder.cs: added checks for null in a few Append methods.
775 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
777 * StringBuilder.cs: fixed start offset in Append(char).
779 2004-01-12 Patrik Torstensson
781 * StringBuilder.cs: new implementation that uses
782 string as a buffer instead of a array of chars.
784 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
786 * UTF8Encoding.cs (GetBytes string): Do not call base
787 The version in Encoding will call string.ToCharArray (),
788 allocating an extra array. By calling the better method
789 in our own class we can save memory.
791 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
793 * StringBuilder.cs (Insert int, char): It is really silly and
794 wasteful to allocate an array here. We can just copy the value
797 2003-11-11 Miguel de Icaza <miguel@ximian.com>
799 * Encoding.cs: Use an internal variable to track the parameters of
800 each encoder, since the .NET API does not expose virtual methods
801 in the child classes, we should not depend on that.
803 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
804 Initialize the parameters for base class encoding here.
806 2003-09-01 Miguel de Icaza <miguel@ximian.com>
808 * Encoding.cs (UTF8Unmarked): make it also not error out on
809 invalid input, that is what the Microsoft default is for the
810 StreamReader and BinaryReader expect (our main consumers).
812 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
815 (AppendFormat) Use FormatHelper in System.String to avoid
816 allocating an extra StringBuilder.
817 (Append string, int, int), (Append char, int): Both were
818 allocating extra strings.
820 2003-06-05 Nick Drochak <ndrochak@gol.com>
822 * UTF8Encoding.cs: Cleanups according to class status page
824 2003-05-10 Miguel de Icaza <miguel@ximian.com>
826 * Encoding.cs (GetEncoding): Add all the aliases documented in the
827 framework. We were missing a few.
829 Reorganize the table. Also, convert the input name into the
830 lower-case - to _ before we compare against our table.
832 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834 * StringBuilder.cs: fixed bug #41397.
836 2003-04-12 Miguel de Icaza <miguel@ximian.com>
838 * Encoding.cs: Enabled the code paths that we did have commented
839 out, they seem to work now.
841 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
843 * StringBuilder.cs: cache the result from ToString().
845 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
847 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
848 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
850 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
852 * ASCIIEncoding.cs: fixed bug #38984.
854 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
857 * Latin1Encoding.cs: fix GetString (byte[]) and
858 GetString (byte[], int, int) for zero-length case.
860 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
862 * Latin1Encoding.cs: added Serializable attribute.
864 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
866 * Encoding.cs: removed UnixConsoleEncoding.
868 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
870 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
871 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
872 This fixes the StringBuilder unit tests.
874 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
876 * StringBuilder.cs: fixed typo in set_Length.
878 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
880 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
881 encoding is not found, default to UTF8Unmarked. Removed comment in
882 UnixConsoleEncoding, because it's now Default, which gets the
883 encoding internally using g_get_encoding ().
885 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
887 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
889 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
891 * UTF8Encoding.cs: fix GetByteCount (), too.
893 2002-11-19 Miguel de Icaza <miguel@ximian.com>
895 * UnicodeEncoding.cs: the bytemark should only be used to return
896 information in GetPreamble, not to actually encode the information
897 on the stream. That is taken care of by the Stream classes.
899 * UTF8Encoding.cs: ditto.
901 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
903 * StringBuilder.cs: only move the remaining chars in Remove.
905 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
907 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
908 locking whenever possible.
910 2002-10-30 Miguel de Icaza <miguel@ximian.com>
912 * Encoding.cs (UTF8Unmarked): New static property, used to return
913 a no-markers UTf8 encoder, used in a few places in the class library.
915 2002-09-06 Miguel de Icaza <miguel@ximian.com>
917 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
918 what the Microsoft version does.
920 (UnixConsoleEncoding): New internal method, used to get the
921 encoding, in the future, this should pull the locale, map to
922 charset and then code page.
924 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
926 * Encoding.cs: use icall to get default codepage.
927 * DefaultEncoding.cs: remove useless class.
929 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
931 * *.cs: change to conform to mono coding style.
933 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
941 * UnicodeEncoding.cs: added Serializable attribute.
943 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
945 * StringBuilder.cs: improved performace by using String.InternalCopyTo
946 instead of using ToCharArray all over the place (more that 50% of
947 speed improvement when using Append).
949 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
951 * *.cs: imported the code donated by Rhys Weatherley
952 <rweather@southern-storm.com.au>.
954 2002-08-18 Dick Porter <dick@ximian.com>
956 * Encoding.cs: Make GetString() return a useful representation of
957 the bytes, rather than "System.Char[]"
959 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
961 * StringBuilder.cs: added IndexerName to indexer.
963 2002-08-01 Jason Diamond <jason@injektilo.org>
965 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
966 converting chars to bytes.
968 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
970 * StringBuilder.cs: updated comments. MaxCapacity always returns
973 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
975 * StringBuilder.cs: implemented AppendFormat methods using
976 String.Format. Thanks Paolo!
978 This makes xsp generate correct C# output in linux :-). I still need
979 to do more testing, though.
981 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
983 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
985 2002-05-19 Martin Baulig <martin@gnome.org>
987 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
988 Added exception handling.
990 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
991 Added exception handling.
993 2002/04/02 Nick Drochak <ndrochak@gol.com>
995 * StringBuilder.cs (Append): Removed obsolete overload.
997 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
999 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
1001 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
1003 * StringBuilder.cs: no need to intern the string returned by ToString().
1005 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
1007 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
1008 dependent on iconv icalls.
1009 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
1012 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
1014 * StringBuilder.cs: make ToString() return a interned string, this
1015 seems to be required to make switch on string work.
1017 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
1019 * StringBuilder.cs: make Append(char) do the smart thing.
1021 2002-01-05 Ravi Pratap <ravi@ximian.com>
1023 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
1024 UnicodeEncoding.cs: MonoTODO attribute marking.
1026 * StringBuilder.cs : Ditto.
1028 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
1030 * Encoding.cs: renamed some fields.
1031 * StringBuilder.cs: CLSCompliant updates.
1033 2001-10-29 Nick Drochak <ndrochak@gol.com>
1035 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
1036 invalid. Just like MS does (as best as I can tell).
1038 Tests for these exceptions are now added to the unit tests as well.
1040 2001-10-25 Nick Drochak <ndrochak@gol.com>
1042 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
1043 whose capacity is greater than the MaxCapacity.
1045 I added some tests for the constructors and the above exception. More
1048 2001-10-23 Nick Drochak <ndrochak@gol.com>
1050 * StringBuilder.cs: Refactored constructor code into just one
1051 constructor. All the other construtors call it. Also supplied missing
1052 constructors so the class has all those in the spec.
1054 Added the MaxCapacity property as well, however this needs to be
1055 completed to return a value is related to the available system memory.
1057 2001-10-07 Miguel de Icaza <miguel@ximian.com>
1059 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
1060 UnicodeEncoding.cs: Corrected API.
1062 * UTF8Encoding.cs: Checked in changes from Rafael.
1064 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
1066 * UTF8Encoding.cs: impl. clumsy GetBytes
1068 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
1070 * StringBuilder.cs (Text): Fixed.
1072 * StringBuilderTest.cs: Implement Test suite.
1074 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
1076 * StringBuilder.cs: Implemented.
1078 The only methods left unimplemented are the AppendFormat( ... )
1079 ones just because it's probably better to wait until some of the
1080 Format related classes are implemented. I've put that as a TODO
1081 comment at the top and created the methods with a "nop" body.
1083 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
1085 * UnicodeEncoding.cs: Members added so that a clean compile is
1088 * ASCIIEncoding.cs: Members added so that a clean compile is
1091 * UTF7Encoding.cs: Members added so that a clean compile is
1094 * UTF8Encoding.cs: Members added so that a clean compile is
1097 * Encoding.cs: All public members included. Most members