1 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
3 * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
6 2009-01-30 Atsushi Enomoto <atsushi@ximian.com>
8 * UTF8Encoding.cs : surrogate characters are handled in
9 InternalGetChars() but not in InternalGetCharCount().
12 2009-01-13 Jb Evain <jbevain@novell.com>
14 * Encoding.cs: when creating a ForwardingEncoder or a
15 ForwardingDecoder, don't crash if the Encoding doesn't
16 provide an EncoderFallback or a DecoderFallback.
18 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
20 * UTF8Encoding.cs: rewritten InternalGetByteCount () and
21 InternalGetBytes (): among other things this versions are
22 10% to 60% faster, depending on input type and size.
24 2008-09-28 Juraj Skripsky <js@hotfeet.ch>
26 * StringBuilder.cs (Replace): Return early when no oldValue was
27 found. Avoid extra string allocations.
29 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
31 * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
33 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
41 * ASCIIEncoding.cs: Fix parameter names
43 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
45 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
46 of String.Substring, as the former is guaranteed to create a new
47 string object. Fixes bug #395904.
49 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
51 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
53 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
56 Fixed misplaced leftOverSize reset in InternalGetCharCount().
57 Fixed base64 value for '+' (the value is actually unused though).
59 2008-03-27 Kornél Pál <kornelpal@gmail.com>
61 * Encoding.cs: Fix possible integer overflow in argument validation.
63 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
65 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
66 check. Found using Gendarme new UseIsOperator rule.
67 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
68 check. Found using Gendarme new UseIsOperator rule.
70 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
72 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
73 the same "\uFFFD" fix for encoder fallback.
74 Reduced extra instantiation of those fallbacks.
76 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
78 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
80 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
82 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
85 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
87 * UnicodeEncoding.cs : fix build.
89 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
91 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
92 input buffer. When fallback is not assigned, just return '\0'.
93 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
94 Default replacement fallback buffer is now "\uFFFD".
95 * UTF8Encoding.cs : couple of replacement buffer size fixes.
96 Default replacement fallback buffer is now "\uFFFD".
97 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
98 See http://support.microsoft.com/kb/940521/ for this change.
100 2007-08-15 Jb Evain <jbveain@novell.com>
102 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
103 the compile picks up the adequate method when AppendFormat
104 is used in 2.1 platform code.
106 2007-07-28 Miguel de Icaza <miguel@novell.com>
108 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
110 2007-05-03 Dick Porter <dick@ximian.com>
113 * UnicodeEncoding.cs:
114 * UTF7Encoding.cs: Update to 2.0 profile
116 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
118 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
119 In Encoding.Default, catch both ArgumentException and NotSupportException.
121 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
123 * Encoding.cs : the change broke the build, so reverted part of it.
125 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
127 * Encoding.cs: Also set ParamName of the ArgumentException.
129 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
131 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
132 and above 0xffff. Modified NotSupportedException to ArgumentException in
133 GetEncoding (string).
135 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
137 * EncoderFallbackBuffer.cs : implement Reset().
139 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
141 * Encoding.cs: Make the GetByteCcount method used fixed pointers
142 removes quite a few allocations from Banshee.
144 2006-09-03 Zoltan Varga <vargaz@gmail.com>
146 * StringBuilder.cs (.ctor): Add a comment.
148 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
151 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
153 * UTF32Encoding.cs, UTF7Encoding.cs :
154 Fixed GetHashCode() and Equals() as well.
155 Added several missing overrides in 2.0.
157 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
159 * Encoding.cs : implemented IsAlwaysNormalized().
160 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
163 2006-07-18 Kornél Pál <kornelpal@gmail.com>
165 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
166 than new string (sbyte*, int, int) that uses Encoding.Default.
167 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
168 than new string (sbyte*, int, int) that uses Encoding.Default.
170 2006-07-11 Kornél Pál <kornelpal@gmail.com>
172 * StringBuilder.cs: Pad the string with NULL characters when setting
173 Length. This is now documented:
174 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
176 2006-07-06 Kornél Pál <kornelpal@gmail.com>
178 * CodePageEncoding.cs: Corrected comments.
179 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
180 ArgumentExceptions in private constructors.
181 * SurrogateEncoder.cs: Corrected comments.
183 2006-07-05 Kornél Pál <kornelpal@gmail.com>
185 * CodePageEncoding.cs: Return the same real object in subsequent
186 calls to GetRealObject ().
187 * MLangCodePageEncoding.cs: Return the same real object in
188 subsequent calls to GetRealObject (). Rename Encoder and Decoder
189 MLangEncoder and MLangDecoder. These classes are not serializable
190 in 1.x although MS.NET 2.0 can deserialize them.
191 * SurrogateEncoder.cs: Return the same real object in subsequent
192 calls to GetRealObject ().
194 2006-07-04 Kornél Pál <kornelpal@gmail.com>
196 * CodePageEncoding.cs: Added comment on usage.
197 * MLangCodePageEncoding.cs: Added comment on usage.
198 * SurrogateEncoder.cs: Added comment on usage.
200 2006-07-03 Kornél Pál <kornelpal@gmail.com>
202 * CodePageEncoding.cs: Added.
203 * MLangCodePageEncoding.cs: Added.
204 * SurrogateEncoder.cs: Added.
206 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
208 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
210 2006-06-24 Kornél Pál <kornelpal@gmail.com>
212 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
213 StreamReader should detect byte order marks.
215 2006-06-21 Kornél Pál <kornelpal@gmail.com>
217 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
220 2006-06-06 Kornél Pál <kornelpal@gmail.com>
222 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
223 profile 1.x as well because performance improvement is worth the
224 signature difference. (Fix regression of r61250.)
226 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
228 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
229 Marked 2.0-only members as ComVisible (false).
230 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
231 2.0-only members as ComVisible (false).
232 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
233 2.0-only members as ComVisible (false).
234 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
235 2.0-only members as ComVisible (false).
236 * NormalizationForm.cs: Marked ComVisible (true).
237 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
238 Marked 2.0-only methods as ComVisible (false).
239 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
240 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
241 missing ctor in 2.0 profile, and marked in MonoTODO.
242 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
243 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
245 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
247 * EncodingInfo.cs, Encoding.cs :
248 Implemented Encoding.GetEncodings(). It's so hacky!
250 2006-04-13 Kornél Pál <kornelpal@gmail.com>
252 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
253 as MS.NET does. This is a more reasonable high level wrapper
255 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
256 instead of using GetBytesInternal to be MS.NET compatible.
257 Override GetString (byte [], int, int) to speed up string creation.
259 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
261 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
263 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
265 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
266 check in some methods.
268 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
270 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
271 there are optimizations, but for now we need something just works).
273 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
275 * UTF8Encoding.cs : made internal implementation as pointer-based,
276 and added pointer-based converter method overloads.
278 2006-03-21 Kornél Pál <kornelpal@gmail.com>
280 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
283 2006-03-09 Zoltan Varga <vargaz@gmail.com>
285 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
287 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
289 * UTF8Encoding.cs : Fallback was indicating incorrect index.
292 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
294 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
295 in IL. 10% performance improvement.
297 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
299 * UTF8Encoding.cs : avoid possible overflow.
301 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
303 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
304 be checked. Also it should not ignore leftOver characters even if
305 byte buffer length is 0.
307 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
309 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
310 and InternalGetBytes().
312 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
315 actually leftover bits needs more careful handleding. So it's
316 better to be rather close to the original GetBytes().
317 Also changed leftOver handling so that it will be able to support
320 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
323 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
324 pointers. However, InternalGetBytes() was slower than
325 GetBytes(string, ...), so first replaced existing InternalGetBytes()
326 with GetBytes() internals, and GetBytes(string, ...) switched to
327 InternalGetBytes(). Now GetBytes() implementation code is reduced
330 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
332 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
333 Now it handles the entire bytes, not just half of them.
335 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
337 * UTF8Encoding.cs : zero-length check was wrong. Check it by
338 "charIndex == chars.Length" instead of "charCount == 0".
340 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
342 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
343 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
345 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
347 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
348 this time InternalGetChars() as well.
350 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
352 * StringBuilder.cs: Avoid computing computation for the string
355 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
357 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
360 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
362 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
365 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
367 * UTF7Encoding.cs UTF8Encoding.cs :
368 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
369 Make strict check for invalid surrogate.
371 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
373 * EncoderFallbackException.cs EncoderExceptionFallback.cs
374 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
375 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
376 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
377 DecoderFallbackException.cs DecoderExceptionFallback.cs
378 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
379 EncoderReplacementFallbackBuffer.cs :
380 include them in net_2_0bootstrap build.
382 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
384 * Decoder.cs : ditto.
386 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
388 * Encoder.cs : Fallback should be initialized to have an instance.
390 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
392 * Encoding.cs : Cloned instances should not be read-only.
394 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
396 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
398 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
400 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
401 byte*-based GetBytes().
402 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
403 which came to happen after introducing fallback buffer.
405 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
407 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
410 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
412 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
413 Added FallbackBuffer.
414 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
416 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
418 * EncodingInfo.cs : new file.
420 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
422 * UTF32Encoding.cs : Sealed. Added the overload which has
423 throwOnInvalid parameter.
424 * NormalizationForm.cs : removed [Serializable].
426 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
428 * Encoding.cs : added UTF32.
430 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
432 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
435 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
437 * UTF32Encoding.cs : new file.
439 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
441 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
442 * Encoding.cs : changed default fallback selection. Seems like only
443 ASCII and GB18030 uses '?' for replacement.
444 * UTF8Encoding.cs : now that Fallback is read only by default, we
447 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
449 * UTF8Encoding.cs : safer UTF8Decoder ctor.
451 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
453 * Decoder.cs : added FallbackBuffer property.
454 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
457 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
459 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
461 * EncoderReplacementFallbackBuffer.cs : implemented.
462 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
465 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
467 * DecoderFallbackBuffer.cs : Reset() does nothing here.
468 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
469 bytesUnknown is used.
471 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
473 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
475 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
477 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
478 * Encoder.cs : Added Fallback property.
479 * Decoder.cs : Added Fallback property.
481 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
483 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
484 EncoderExceptionFallbackBuffer.cs,
485 EncoderReplacementFallbackBuffer.cs,
486 EncoderFallbackException.cs,
487 EncoderExceptionFallback.cs,
488 EncoderReplacementFallback.cs : new files (not actually used yet).
489 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
490 DecoderReplacementFallback.cs : [Serializable] and sealed.
491 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
493 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
495 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
496 DecoderExceptionFallbackBuffer.cs,
497 DecoderReplacementFallbackBuffer.cs,
498 DecoderFallbackException.cs,
499 DecoderExceptionFallback.cs,
500 DecoderReplacementFallback.cs : new files (not actually used yet).
502 2005-11-14 Miguel de Icaza <miguel@novell.com>
504 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
507 Also add some checks that were missing.
509 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
511 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
512 were failing under 2.0) and two possible integer overflow in CopyTo.
514 2005-11-11 Miguel de Icaza <miguel@novell.com>
516 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
518 * StringBuilder.cs (Text): Added serialization support in 2.x.
520 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
522 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
523 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
524 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
525 ((ch & 0xFE) == 0xFC).
527 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
529 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
530 Don't exclude FEFF in the resulting text.
532 2005-06-21 Ben Maurer <bmaurer@ximian.com>
534 * StringBuilder.cs (Replace): Do the correct thing when we replace
535 with a longer string. Thanks to Alexander Beznozdrev
536 <abeznozdrev@croc.ru>
538 2005-05-26 Ben Maurer <bmaurer@ximian.com>
540 * Encoding.cs: Use static object for locking. `volatile' to
541 prevent double checked locking error.
543 * StringBuilder.cs: Remove = null inits on fields, saves a few
544 instructions. When we compare _cached_str == _str, we are only
545 interested in pointer based equality, so just do that.
547 2005-05-06 Ben Maurer <bmaurer@ximian.com>
549 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
550 the size we attempt to grow to is more than the max capacity, but
551 that a smaller size will do. In this case, don't throw an
552 exception. Fixes #72244
554 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
556 * NormalizationForm.cs : new file.
558 2005-03-20 Ben Maurer <bmaurer@ximian.com>
560 * StringBuilder.cs (set_Length): If we set the length, we must
561 clobber the cached string.
563 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
565 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
568 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
570 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
571 whose length is greater than 3. Patch by Svetlana Zholkovsky.
573 2005-01-31 Ben Maurer <bmaurer@ximian.com>
575 * StringBuilder.cs (Remove): We need to do the check that the
576 string isnt being cached *before* we munge it.
578 2005-01-21 Ben Maurer <bmaurer@ximian.com>
580 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
581 lazily. This saves us lots of memory if you only use the
582 stringbuilder once. Also, we can allocate on the second Append,
583 which might reduce the number of buffers allocated.
585 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
587 * StringBuilder.cs: Improved parameter check.
589 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
591 * StringBuilder.cs: when creating the StringBuilder from a string, the
592 maximum capacity remains Int32.MaxValue.
594 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
596 * StringBuilder.cs: throw if the new size is greater than the maximum
597 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
600 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
602 * UTF7Encoding.cs: Fixed warning for unused variable.
604 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
606 * Encoding.cs: Add encoding name "latin1" for compatibility with
609 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
611 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
613 2004-09-09 Tim Coleman <tim@timcoleman.com>
615 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
617 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
619 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
620 Follow the RFC1642 rules for "overbits".
622 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
624 * ASCIIEncoding.cs: added TODO for serialization
625 * StringBuilder.cs: added TODO for serialization
626 * UnicodeEncoding.cs: added TODO for serialization
627 * UTF7Encoding.cs: added TODO for serialization
628 * UTF8Encoding.cs: added TODO for serialization
630 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
632 * Encoding.cs: Marked protected internal field as internal to
635 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
637 * UTF8Encoding.cs : Length check must be done only when the character
638 sequence is valid (i.e. should not check when it is overlongs).
639 See also TestThrowOnInvalid().
641 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
643 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
645 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
647 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
648 true. Otherwise just ignore them.
650 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
652 * StringBuilder.cs: Fixed potential integer overflows in several
655 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
657 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
658 pair. This fix bug #57009 (and 2 failing unit tests). Added code
659 to check for some (like MS) overlongs.
661 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
663 * Encoding.cs: Use name const to load I18N assembly.
665 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
667 * Encoding.cs: Call shortcut String.ToLowerInvariant
669 2004-04-13 Miguel de Icaza <miguel@ximian.com>
671 * Encoding.cs: Use new internal codepage setup.
673 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
675 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
677 2004-03-19 Dick Porter <dick@ximian.com>
679 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
680 BOM at the beginning of the range of characters we're interested
681 in, not at the beginning of the array. Fixes bug 51531.
683 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
686 (Insert int, char[]): fix by using new string(char[]) instead of
687 char[].ToString() and simplify.
688 (Insert int, string, int): add LAMESPEC note.
689 (Insert int char[], int, int): handle value==null according to spec.
690 Use a string instead of char array + Array.Copy (gonzalo)
692 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
695 (Append (string)): remove redundant check.
697 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700 (Remove): fixed offsets when copying and set the new size. Fixes bug
703 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
705 * StringBuilder.cs: added checks for null in a few Append methods.
707 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
709 * StringBuilder.cs: fixed start offset in Append(char).
711 2004-01-12 Patrik Torstensson
713 * StringBuilder.cs: new implementation that uses
714 string as a buffer instead of a array of chars.
716 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
718 * UTF8Encoding.cs (GetBytes string): Do not call base
719 The version in Encoding will call string.ToCharArray (),
720 allocating an extra array. By calling the better method
721 in our own class we can save memory.
723 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
725 * StringBuilder.cs (Insert int, char): It is really silly and
726 wasteful to allocate an array here. We can just copy the value
729 2003-11-11 Miguel de Icaza <miguel@ximian.com>
731 * Encoding.cs: Use an internal variable to track the parameters of
732 each encoder, since the .NET API does not expose virtual methods
733 in the child classes, we should not depend on that.
735 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
736 Initialize the parameters for base class encoding here.
738 2003-09-01 Miguel de Icaza <miguel@ximian.com>
740 * Encoding.cs (UTF8Unmarked): make it also not error out on
741 invalid input, that is what the Microsoft default is for the
742 StreamReader and BinaryReader expect (our main consumers).
744 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
747 (AppendFormat) Use FormatHelper in System.String to avoid
748 allocating an extra StringBuilder.
749 (Append string, int, int), (Append char, int): Both were
750 allocating extra strings.
752 2003-06-05 Nick Drochak <ndrochak@gol.com>
754 * UTF8Encoding.cs: Cleanups according to class status page
756 2003-05-10 Miguel de Icaza <miguel@ximian.com>
758 * Encoding.cs (GetEncoding): Add all the aliases documented in the
759 framework. We were missing a few.
761 Reorganize the table. Also, convert the input name into the
762 lower-case - to _ before we compare against our table.
764 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
766 * StringBuilder.cs: fixed bug #41397.
768 2003-04-12 Miguel de Icaza <miguel@ximian.com>
770 * Encoding.cs: Enabled the code paths that we did have commented
771 out, they seem to work now.
773 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
775 * StringBuilder.cs: cache the result from ToString().
777 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
779 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
780 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
782 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
784 * ASCIIEncoding.cs: fixed bug #38984.
786 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
789 * Latin1Encoding.cs: fix GetString (byte[]) and
790 GetString (byte[], int, int) for zero-length case.
792 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
794 * Latin1Encoding.cs: added Serializable attribute.
796 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
798 * Encoding.cs: removed UnixConsoleEncoding.
800 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
802 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
803 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
804 This fixes the StringBuilder unit tests.
806 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
808 * StringBuilder.cs: fixed typo in set_Length.
810 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
812 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
813 encoding is not found, default to UTF8Unmarked. Removed comment in
814 UnixConsoleEncoding, because it's now Default, which gets the
815 encoding internally using g_get_encoding ().
817 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
819 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
821 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
823 * UTF8Encoding.cs: fix GetByteCount (), too.
825 2002-11-19 Miguel de Icaza <miguel@ximian.com>
827 * UnicodeEncoding.cs: the bytemark should only be used to return
828 information in GetPreamble, not to actually encode the information
829 on the stream. That is taken care of by the Stream classes.
831 * UTF8Encoding.cs: ditto.
833 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
835 * StringBuilder.cs: only move the remaining chars in Remove.
837 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
839 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
840 locking whenever possible.
842 2002-10-30 Miguel de Icaza <miguel@ximian.com>
844 * Encoding.cs (UTF8Unmarked): New static property, used to return
845 a no-markers UTf8 encoder, used in a few places in the class library.
847 2002-09-06 Miguel de Icaza <miguel@ximian.com>
849 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
850 what the Microsoft version does.
852 (UnixConsoleEncoding): New internal method, used to get the
853 encoding, in the future, this should pull the locale, map to
854 charset and then code page.
856 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
858 * Encoding.cs: use icall to get default codepage.
859 * DefaultEncoding.cs: remove useless class.
861 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
863 * *.cs: change to conform to mono coding style.
865 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
873 * UnicodeEncoding.cs: added Serializable attribute.
875 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
877 * StringBuilder.cs: improved performace by using String.InternalCopyTo
878 instead of using ToCharArray all over the place (more that 50% of
879 speed improvement when using Append).
881 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
883 * *.cs: imported the code donated by Rhys Weatherley
884 <rweather@southern-storm.com.au>.
886 2002-08-18 Dick Porter <dick@ximian.com>
888 * Encoding.cs: Make GetString() return a useful representation of
889 the bytes, rather than "System.Char[]"
891 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
893 * StringBuilder.cs: added IndexerName to indexer.
895 2002-08-01 Jason Diamond <jason@injektilo.org>
897 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
898 converting chars to bytes.
900 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
902 * StringBuilder.cs: updated comments. MaxCapacity always returns
905 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
907 * StringBuilder.cs: implemented AppendFormat methods using
908 String.Format. Thanks Paolo!
910 This makes xsp generate correct C# output in linux :-). I still need
911 to do more testing, though.
913 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
915 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
917 2002-05-19 Martin Baulig <martin@gnome.org>
919 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
920 Added exception handling.
922 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
923 Added exception handling.
925 2002/04/02 Nick Drochak <ndrochak@gol.com>
927 * StringBuilder.cs (Append): Removed obsolete overload.
929 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
931 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
933 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
935 * StringBuilder.cs: no need to intern the string returned by ToString().
937 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
939 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
940 dependent on iconv icalls.
941 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
944 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
946 * StringBuilder.cs: make ToString() return a interned string, this
947 seems to be required to make switch on string work.
949 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
951 * StringBuilder.cs: make Append(char) do the smart thing.
953 2002-01-05 Ravi Pratap <ravi@ximian.com>
955 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
956 UnicodeEncoding.cs: MonoTODO attribute marking.
958 * StringBuilder.cs : Ditto.
960 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
962 * Encoding.cs: renamed some fields.
963 * StringBuilder.cs: CLSCompliant updates.
965 2001-10-29 Nick Drochak <ndrochak@gol.com>
967 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
968 invalid. Just like MS does (as best as I can tell).
970 Tests for these exceptions are now added to the unit tests as well.
972 2001-10-25 Nick Drochak <ndrochak@gol.com>
974 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
975 whose capacity is greater than the MaxCapacity.
977 I added some tests for the constructors and the above exception. More
980 2001-10-23 Nick Drochak <ndrochak@gol.com>
982 * StringBuilder.cs: Refactored constructor code into just one
983 constructor. All the other construtors call it. Also supplied missing
984 constructors so the class has all those in the spec.
986 Added the MaxCapacity property as well, however this needs to be
987 completed to return a value is related to the available system memory.
989 2001-10-07 Miguel de Icaza <miguel@ximian.com>
991 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
992 UnicodeEncoding.cs: Corrected API.
994 * UTF8Encoding.cs: Checked in changes from Rafael.
996 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
998 * UTF8Encoding.cs: impl. clumsy GetBytes
1000 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
1002 * StringBuilder.cs (Text): Fixed.
1004 * StringBuilderTest.cs: Implement Test suite.
1006 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
1008 * StringBuilder.cs: Implemented.
1010 The only methods left unimplemented are the AppendFormat( ... )
1011 ones just because it's probably better to wait until some of the
1012 Format related classes are implemented. I've put that as a TODO
1013 comment at the top and created the methods with a "nop" body.
1015 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
1017 * UnicodeEncoding.cs: Members added so that a clean compile is
1020 * ASCIIEncoding.cs: Members added so that a clean compile is
1023 * UTF7Encoding.cs: Members added so that a clean compile is
1026 * UTF8Encoding.cs: Members added so that a clean compile is
1029 * Encoding.cs: All public members included. Most members