1 2009-07-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
3 * StringBuilder.cs: small fixes dealing with _maxCapacity.
5 2009-02-05 Gert Driesen <drieseng@users.sourceforge.net>
7 * UTF32Encoding.cs: Added missing argument check in GetByteCount
10 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
12 * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
15 2009-01-30 Atsushi Enomoto <atsushi@ximian.com>
17 * UTF8Encoding.cs : surrogate characters are handled in
18 InternalGetChars() but not in InternalGetCharCount().
21 2009-01-13 Jb Evain <jbevain@novell.com>
23 * Encoding.cs: when creating a ForwardingEncoder or a
24 ForwardingDecoder, don't crash if the Encoding doesn't
25 provide an EncoderFallback or a DecoderFallback.
27 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
29 * UTF8Encoding.cs: rewritten InternalGetByteCount () and
30 InternalGetBytes (): among other things this versions are
31 10% to 60% faster, depending on input type and size.
33 2008-09-28 Juraj Skripsky <js@hotfeet.ch>
35 * StringBuilder.cs (Replace): Return early when no oldValue was
36 found. Avoid extra string allocations.
38 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
40 * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
42 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
50 * ASCIIEncoding.cs: Fix parameter names
52 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
54 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
55 of String.Substring, as the former is guaranteed to create a new
56 string object. Fixes bug #395904.
58 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
60 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
62 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
65 Fixed misplaced leftOverSize reset in InternalGetCharCount().
66 Fixed base64 value for '+' (the value is actually unused though).
68 2008-03-27 Kornél Pál <kornelpal@gmail.com>
70 * Encoding.cs: Fix possible integer overflow in argument validation.
72 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
74 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
75 check. Found using Gendarme new UseIsOperator rule.
76 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
77 check. Found using Gendarme new UseIsOperator rule.
79 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
81 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
82 the same "\uFFFD" fix for encoder fallback.
83 Reduced extra instantiation of those fallbacks.
85 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
87 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
89 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
91 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
94 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
96 * UnicodeEncoding.cs : fix build.
98 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
100 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
101 input buffer. When fallback is not assigned, just return '\0'.
102 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
103 Default replacement fallback buffer is now "\uFFFD".
104 * UTF8Encoding.cs : couple of replacement buffer size fixes.
105 Default replacement fallback buffer is now "\uFFFD".
106 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
107 See http://support.microsoft.com/kb/940521/ for this change.
109 2007-08-15 Jb Evain <jbveain@novell.com>
111 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
112 the compile picks up the adequate method when AppendFormat
113 is used in 2.1 platform code.
115 2007-07-28 Miguel de Icaza <miguel@novell.com>
117 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
119 2007-05-03 Dick Porter <dick@ximian.com>
122 * UnicodeEncoding.cs:
123 * UTF7Encoding.cs: Update to 2.0 profile
125 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
127 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
128 In Encoding.Default, catch both ArgumentException and NotSupportException.
130 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
132 * Encoding.cs : the change broke the build, so reverted part of it.
134 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
136 * Encoding.cs: Also set ParamName of the ArgumentException.
138 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
140 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
141 and above 0xffff. Modified NotSupportedException to ArgumentException in
142 GetEncoding (string).
144 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
146 * EncoderFallbackBuffer.cs : implement Reset().
148 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
150 * Encoding.cs: Make the GetByteCcount method used fixed pointers
151 removes quite a few allocations from Banshee.
153 2006-09-03 Zoltan Varga <vargaz@gmail.com>
155 * StringBuilder.cs (.ctor): Add a comment.
157 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
160 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
162 * UTF32Encoding.cs, UTF7Encoding.cs :
163 Fixed GetHashCode() and Equals() as well.
164 Added several missing overrides in 2.0.
166 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
168 * Encoding.cs : implemented IsAlwaysNormalized().
169 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
172 2006-07-18 Kornél Pál <kornelpal@gmail.com>
174 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
175 than new string (sbyte*, int, int) that uses Encoding.Default.
176 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
177 than new string (sbyte*, int, int) that uses Encoding.Default.
179 2006-07-11 Kornél Pál <kornelpal@gmail.com>
181 * StringBuilder.cs: Pad the string with NULL characters when setting
182 Length. This is now documented:
183 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
185 2006-07-06 Kornél Pál <kornelpal@gmail.com>
187 * CodePageEncoding.cs: Corrected comments.
188 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
189 ArgumentExceptions in private constructors.
190 * SurrogateEncoder.cs: Corrected comments.
192 2006-07-05 Kornél Pál <kornelpal@gmail.com>
194 * CodePageEncoding.cs: Return the same real object in subsequent
195 calls to GetRealObject ().
196 * MLangCodePageEncoding.cs: Return the same real object in
197 subsequent calls to GetRealObject (). Rename Encoder and Decoder
198 MLangEncoder and MLangDecoder. These classes are not serializable
199 in 1.x although MS.NET 2.0 can deserialize them.
200 * SurrogateEncoder.cs: Return the same real object in subsequent
201 calls to GetRealObject ().
203 2006-07-04 Kornél Pál <kornelpal@gmail.com>
205 * CodePageEncoding.cs: Added comment on usage.
206 * MLangCodePageEncoding.cs: Added comment on usage.
207 * SurrogateEncoder.cs: Added comment on usage.
209 2006-07-03 Kornél Pál <kornelpal@gmail.com>
211 * CodePageEncoding.cs: Added.
212 * MLangCodePageEncoding.cs: Added.
213 * SurrogateEncoder.cs: Added.
215 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
217 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
219 2006-06-24 Kornél Pál <kornelpal@gmail.com>
221 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
222 StreamReader should detect byte order marks.
224 2006-06-21 Kornél Pál <kornelpal@gmail.com>
226 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
229 2006-06-06 Kornél Pál <kornelpal@gmail.com>
231 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
232 profile 1.x as well because performance improvement is worth the
233 signature difference. (Fix regression of r61250.)
235 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
237 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
238 Marked 2.0-only members as ComVisible (false).
239 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
240 2.0-only members as ComVisible (false).
241 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
242 2.0-only members as ComVisible (false).
243 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
244 2.0-only members as ComVisible (false).
245 * NormalizationForm.cs: Marked ComVisible (true).
246 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
247 Marked 2.0-only methods as ComVisible (false).
248 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
249 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
250 missing ctor in 2.0 profile, and marked in MonoTODO.
251 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
252 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
254 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
256 * EncodingInfo.cs, Encoding.cs :
257 Implemented Encoding.GetEncodings(). It's so hacky!
259 2006-04-13 Kornél Pál <kornelpal@gmail.com>
261 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
262 as MS.NET does. This is a more reasonable high level wrapper
264 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
265 instead of using GetBytesInternal to be MS.NET compatible.
266 Override GetString (byte [], int, int) to speed up string creation.
268 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
270 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
272 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
274 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
275 check in some methods.
277 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
279 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
280 there are optimizations, but for now we need something just works).
282 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
284 * UTF8Encoding.cs : made internal implementation as pointer-based,
285 and added pointer-based converter method overloads.
287 2006-03-21 Kornél Pál <kornelpal@gmail.com>
289 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
292 2006-03-09 Zoltan Varga <vargaz@gmail.com>
294 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
296 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
298 * UTF8Encoding.cs : Fallback was indicating incorrect index.
301 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
303 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
304 in IL. 10% performance improvement.
306 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
308 * UTF8Encoding.cs : avoid possible overflow.
310 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
312 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
313 be checked. Also it should not ignore leftOver characters even if
314 byte buffer length is 0.
316 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
318 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
319 and InternalGetBytes().
321 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
324 actually leftover bits needs more careful handleding. So it's
325 better to be rather close to the original GetBytes().
326 Also changed leftOver handling so that it will be able to support
329 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
332 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
333 pointers. However, InternalGetBytes() was slower than
334 GetBytes(string, ...), so first replaced existing InternalGetBytes()
335 with GetBytes() internals, and GetBytes(string, ...) switched to
336 InternalGetBytes(). Now GetBytes() implementation code is reduced
339 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
341 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
342 Now it handles the entire bytes, not just half of them.
344 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
346 * UTF8Encoding.cs : zero-length check was wrong. Check it by
347 "charIndex == chars.Length" instead of "charCount == 0".
349 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
351 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
352 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
354 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
356 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
357 this time InternalGetChars() as well.
359 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
361 * StringBuilder.cs: Avoid computing computation for the string
364 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
366 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
369 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
371 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
374 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
376 * UTF7Encoding.cs UTF8Encoding.cs :
377 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
378 Make strict check for invalid surrogate.
380 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
382 * EncoderFallbackException.cs EncoderExceptionFallback.cs
383 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
384 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
385 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
386 DecoderFallbackException.cs DecoderExceptionFallback.cs
387 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
388 EncoderReplacementFallbackBuffer.cs :
389 include them in net_2_0bootstrap build.
391 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
393 * Decoder.cs : ditto.
395 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
397 * Encoder.cs : Fallback should be initialized to have an instance.
399 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
401 * Encoding.cs : Cloned instances should not be read-only.
403 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
405 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
407 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
409 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
410 byte*-based GetBytes().
411 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
412 which came to happen after introducing fallback buffer.
414 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
416 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
419 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
421 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
422 Added FallbackBuffer.
423 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
425 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
427 * EncodingInfo.cs : new file.
429 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
431 * UTF32Encoding.cs : Sealed. Added the overload which has
432 throwOnInvalid parameter.
433 * NormalizationForm.cs : removed [Serializable].
435 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
437 * Encoding.cs : added UTF32.
439 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
441 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
444 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
446 * UTF32Encoding.cs : new file.
448 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
450 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
451 * Encoding.cs : changed default fallback selection. Seems like only
452 ASCII and GB18030 uses '?' for replacement.
453 * UTF8Encoding.cs : now that Fallback is read only by default, we
456 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
458 * UTF8Encoding.cs : safer UTF8Decoder ctor.
460 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
462 * Decoder.cs : added FallbackBuffer property.
463 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
466 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
468 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
470 * EncoderReplacementFallbackBuffer.cs : implemented.
471 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
474 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
476 * DecoderFallbackBuffer.cs : Reset() does nothing here.
477 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
478 bytesUnknown is used.
480 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
482 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
484 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
486 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
487 * Encoder.cs : Added Fallback property.
488 * Decoder.cs : Added Fallback property.
490 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
492 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
493 EncoderExceptionFallbackBuffer.cs,
494 EncoderReplacementFallbackBuffer.cs,
495 EncoderFallbackException.cs,
496 EncoderExceptionFallback.cs,
497 EncoderReplacementFallback.cs : new files (not actually used yet).
498 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
499 DecoderReplacementFallback.cs : [Serializable] and sealed.
500 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
502 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
504 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
505 DecoderExceptionFallbackBuffer.cs,
506 DecoderReplacementFallbackBuffer.cs,
507 DecoderFallbackException.cs,
508 DecoderExceptionFallback.cs,
509 DecoderReplacementFallback.cs : new files (not actually used yet).
511 2005-11-14 Miguel de Icaza <miguel@novell.com>
513 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
516 Also add some checks that were missing.
518 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
520 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
521 were failing under 2.0) and two possible integer overflow in CopyTo.
523 2005-11-11 Miguel de Icaza <miguel@novell.com>
525 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
527 * StringBuilder.cs (Text): Added serialization support in 2.x.
529 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
531 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
532 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
533 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
534 ((ch & 0xFE) == 0xFC).
536 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
538 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
539 Don't exclude FEFF in the resulting text.
541 2005-06-21 Ben Maurer <bmaurer@ximian.com>
543 * StringBuilder.cs (Replace): Do the correct thing when we replace
544 with a longer string. Thanks to Alexander Beznozdrev
545 <abeznozdrev@croc.ru>
547 2005-05-26 Ben Maurer <bmaurer@ximian.com>
549 * Encoding.cs: Use static object for locking. `volatile' to
550 prevent double checked locking error.
552 * StringBuilder.cs: Remove = null inits on fields, saves a few
553 instructions. When we compare _cached_str == _str, we are only
554 interested in pointer based equality, so just do that.
556 2005-05-06 Ben Maurer <bmaurer@ximian.com>
558 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
559 the size we attempt to grow to is more than the max capacity, but
560 that a smaller size will do. In this case, don't throw an
561 exception. Fixes #72244
563 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
565 * NormalizationForm.cs : new file.
567 2005-03-20 Ben Maurer <bmaurer@ximian.com>
569 * StringBuilder.cs (set_Length): If we set the length, we must
570 clobber the cached string.
572 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
574 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
577 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
579 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
580 whose length is greater than 3. Patch by Svetlana Zholkovsky.
582 2005-01-31 Ben Maurer <bmaurer@ximian.com>
584 * StringBuilder.cs (Remove): We need to do the check that the
585 string isnt being cached *before* we munge it.
587 2005-01-21 Ben Maurer <bmaurer@ximian.com>
589 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
590 lazily. This saves us lots of memory if you only use the
591 stringbuilder once. Also, we can allocate on the second Append,
592 which might reduce the number of buffers allocated.
594 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
596 * StringBuilder.cs: Improved parameter check.
598 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
600 * StringBuilder.cs: when creating the StringBuilder from a string, the
601 maximum capacity remains Int32.MaxValue.
603 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
605 * StringBuilder.cs: throw if the new size is greater than the maximum
606 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
609 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
611 * UTF7Encoding.cs: Fixed warning for unused variable.
613 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
615 * Encoding.cs: Add encoding name "latin1" for compatibility with
618 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
620 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
622 2004-09-09 Tim Coleman <tim@timcoleman.com>
624 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
626 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
628 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
629 Follow the RFC1642 rules for "overbits".
631 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
633 * ASCIIEncoding.cs: added TODO for serialization
634 * StringBuilder.cs: added TODO for serialization
635 * UnicodeEncoding.cs: added TODO for serialization
636 * UTF7Encoding.cs: added TODO for serialization
637 * UTF8Encoding.cs: added TODO for serialization
639 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
641 * Encoding.cs: Marked protected internal field as internal to
644 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
646 * UTF8Encoding.cs : Length check must be done only when the character
647 sequence is valid (i.e. should not check when it is overlongs).
648 See also TestThrowOnInvalid().
650 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
652 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
654 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
656 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
657 true. Otherwise just ignore them.
659 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
661 * StringBuilder.cs: Fixed potential integer overflows in several
664 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
666 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
667 pair. This fix bug #57009 (and 2 failing unit tests). Added code
668 to check for some (like MS) overlongs.
670 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
672 * Encoding.cs: Use name const to load I18N assembly.
674 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
676 * Encoding.cs: Call shortcut String.ToLowerInvariant
678 2004-04-13 Miguel de Icaza <miguel@ximian.com>
680 * Encoding.cs: Use new internal codepage setup.
682 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
684 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
686 2004-03-19 Dick Porter <dick@ximian.com>
688 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
689 BOM at the beginning of the range of characters we're interested
690 in, not at the beginning of the array. Fixes bug 51531.
692 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
695 (Insert int, char[]): fix by using new string(char[]) instead of
696 char[].ToString() and simplify.
697 (Insert int, string, int): add LAMESPEC note.
698 (Insert int char[], int, int): handle value==null according to spec.
699 Use a string instead of char array + Array.Copy (gonzalo)
701 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
704 (Append (string)): remove redundant check.
706 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
709 (Remove): fixed offsets when copying and set the new size. Fixes bug
712 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714 * StringBuilder.cs: added checks for null in a few Append methods.
716 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
718 * StringBuilder.cs: fixed start offset in Append(char).
720 2004-01-12 Patrik Torstensson
722 * StringBuilder.cs: new implementation that uses
723 string as a buffer instead of a array of chars.
725 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
727 * UTF8Encoding.cs (GetBytes string): Do not call base
728 The version in Encoding will call string.ToCharArray (),
729 allocating an extra array. By calling the better method
730 in our own class we can save memory.
732 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
734 * StringBuilder.cs (Insert int, char): It is really silly and
735 wasteful to allocate an array here. We can just copy the value
738 2003-11-11 Miguel de Icaza <miguel@ximian.com>
740 * Encoding.cs: Use an internal variable to track the parameters of
741 each encoder, since the .NET API does not expose virtual methods
742 in the child classes, we should not depend on that.
744 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
745 Initialize the parameters for base class encoding here.
747 2003-09-01 Miguel de Icaza <miguel@ximian.com>
749 * Encoding.cs (UTF8Unmarked): make it also not error out on
750 invalid input, that is what the Microsoft default is for the
751 StreamReader and BinaryReader expect (our main consumers).
753 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
756 (AppendFormat) Use FormatHelper in System.String to avoid
757 allocating an extra StringBuilder.
758 (Append string, int, int), (Append char, int): Both were
759 allocating extra strings.
761 2003-06-05 Nick Drochak <ndrochak@gol.com>
763 * UTF8Encoding.cs: Cleanups according to class status page
765 2003-05-10 Miguel de Icaza <miguel@ximian.com>
767 * Encoding.cs (GetEncoding): Add all the aliases documented in the
768 framework. We were missing a few.
770 Reorganize the table. Also, convert the input name into the
771 lower-case - to _ before we compare against our table.
773 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
775 * StringBuilder.cs: fixed bug #41397.
777 2003-04-12 Miguel de Icaza <miguel@ximian.com>
779 * Encoding.cs: Enabled the code paths that we did have commented
780 out, they seem to work now.
782 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
784 * StringBuilder.cs: cache the result from ToString().
786 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
788 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
789 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
791 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793 * ASCIIEncoding.cs: fixed bug #38984.
795 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
798 * Latin1Encoding.cs: fix GetString (byte[]) and
799 GetString (byte[], int, int) for zero-length case.
801 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
803 * Latin1Encoding.cs: added Serializable attribute.
805 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
807 * Encoding.cs: removed UnixConsoleEncoding.
809 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
811 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
812 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
813 This fixes the StringBuilder unit tests.
815 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
817 * StringBuilder.cs: fixed typo in set_Length.
819 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
821 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
822 encoding is not found, default to UTF8Unmarked. Removed comment in
823 UnixConsoleEncoding, because it's now Default, which gets the
824 encoding internally using g_get_encoding ().
826 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
828 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
830 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
832 * UTF8Encoding.cs: fix GetByteCount (), too.
834 2002-11-19 Miguel de Icaza <miguel@ximian.com>
836 * UnicodeEncoding.cs: the bytemark should only be used to return
837 information in GetPreamble, not to actually encode the information
838 on the stream. That is taken care of by the Stream classes.
840 * UTF8Encoding.cs: ditto.
842 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
844 * StringBuilder.cs: only move the remaining chars in Remove.
846 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
848 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
849 locking whenever possible.
851 2002-10-30 Miguel de Icaza <miguel@ximian.com>
853 * Encoding.cs (UTF8Unmarked): New static property, used to return
854 a no-markers UTf8 encoder, used in a few places in the class library.
856 2002-09-06 Miguel de Icaza <miguel@ximian.com>
858 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
859 what the Microsoft version does.
861 (UnixConsoleEncoding): New internal method, used to get the
862 encoding, in the future, this should pull the locale, map to
863 charset and then code page.
865 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
867 * Encoding.cs: use icall to get default codepage.
868 * DefaultEncoding.cs: remove useless class.
870 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
872 * *.cs: change to conform to mono coding style.
874 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
882 * UnicodeEncoding.cs: added Serializable attribute.
884 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
886 * StringBuilder.cs: improved performace by using String.InternalCopyTo
887 instead of using ToCharArray all over the place (more that 50% of
888 speed improvement when using Append).
890 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
892 * *.cs: imported the code donated by Rhys Weatherley
893 <rweather@southern-storm.com.au>.
895 2002-08-18 Dick Porter <dick@ximian.com>
897 * Encoding.cs: Make GetString() return a useful representation of
898 the bytes, rather than "System.Char[]"
900 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
902 * StringBuilder.cs: added IndexerName to indexer.
904 2002-08-01 Jason Diamond <jason@injektilo.org>
906 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
907 converting chars to bytes.
909 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
911 * StringBuilder.cs: updated comments. MaxCapacity always returns
914 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
916 * StringBuilder.cs: implemented AppendFormat methods using
917 String.Format. Thanks Paolo!
919 This makes xsp generate correct C# output in linux :-). I still need
920 to do more testing, though.
922 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
924 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
926 2002-05-19 Martin Baulig <martin@gnome.org>
928 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
929 Added exception handling.
931 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
932 Added exception handling.
934 2002/04/02 Nick Drochak <ndrochak@gol.com>
936 * StringBuilder.cs (Append): Removed obsolete overload.
938 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
940 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
942 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
944 * StringBuilder.cs: no need to intern the string returned by ToString().
946 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
948 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
949 dependent on iconv icalls.
950 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
953 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
955 * StringBuilder.cs: make ToString() return a interned string, this
956 seems to be required to make switch on string work.
958 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
960 * StringBuilder.cs: make Append(char) do the smart thing.
962 2002-01-05 Ravi Pratap <ravi@ximian.com>
964 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
965 UnicodeEncoding.cs: MonoTODO attribute marking.
967 * StringBuilder.cs : Ditto.
969 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
971 * Encoding.cs: renamed some fields.
972 * StringBuilder.cs: CLSCompliant updates.
974 2001-10-29 Nick Drochak <ndrochak@gol.com>
976 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
977 invalid. Just like MS does (as best as I can tell).
979 Tests for these exceptions are now added to the unit tests as well.
981 2001-10-25 Nick Drochak <ndrochak@gol.com>
983 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
984 whose capacity is greater than the MaxCapacity.
986 I added some tests for the constructors and the above exception. More
989 2001-10-23 Nick Drochak <ndrochak@gol.com>
991 * StringBuilder.cs: Refactored constructor code into just one
992 constructor. All the other construtors call it. Also supplied missing
993 constructors so the class has all those in the spec.
995 Added the MaxCapacity property as well, however this needs to be
996 completed to return a value is related to the available system memory.
998 2001-10-07 Miguel de Icaza <miguel@ximian.com>
1000 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
1001 UnicodeEncoding.cs: Corrected API.
1003 * UTF8Encoding.cs: Checked in changes from Rafael.
1005 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
1007 * UTF8Encoding.cs: impl. clumsy GetBytes
1009 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
1011 * StringBuilder.cs (Text): Fixed.
1013 * StringBuilderTest.cs: Implement Test suite.
1015 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
1017 * StringBuilder.cs: Implemented.
1019 The only methods left unimplemented are the AppendFormat( ... )
1020 ones just because it's probably better to wait until some of the
1021 Format related classes are implemented. I've put that as a TODO
1022 comment at the top and created the methods with a "nop" body.
1024 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
1026 * UnicodeEncoding.cs: Members added so that a clean compile is
1029 * ASCIIEncoding.cs: Members added so that a clean compile is
1032 * UTF7Encoding.cs: Members added so that a clean compile is
1035 * UTF8Encoding.cs: Members added so that a clean compile is
1038 * Encoding.cs: All public members included. Most members