1 2009-02-05 Gert Driesen <drieseng@users.sourceforge.net>
3 * UTF32Encoding.cs: Added missing argument check in GetByteCount
6 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
8 * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
11 2009-01-30 Atsushi Enomoto <atsushi@ximian.com>
13 * UTF8Encoding.cs : surrogate characters are handled in
14 InternalGetChars() but not in InternalGetCharCount().
17 2009-01-13 Jb Evain <jbevain@novell.com>
19 * Encoding.cs: when creating a ForwardingEncoder or a
20 ForwardingDecoder, don't crash if the Encoding doesn't
21 provide an EncoderFallback or a DecoderFallback.
23 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
25 * UTF8Encoding.cs: rewritten InternalGetByteCount () and
26 InternalGetBytes (): among other things this versions are
27 10% to 60% faster, depending on input type and size.
29 2008-09-28 Juraj Skripsky <js@hotfeet.ch>
31 * StringBuilder.cs (Replace): Return early when no oldValue was
32 found. Avoid extra string allocations.
34 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
36 * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
38 2008-07-03 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
46 * ASCIIEncoding.cs: Fix parameter names
48 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
50 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
51 of String.Substring, as the former is guaranteed to create a new
52 string object. Fixes bug #395904.
54 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
56 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
58 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
61 Fixed misplaced leftOverSize reset in InternalGetCharCount().
62 Fixed base64 value for '+' (the value is actually unused though).
64 2008-03-27 Kornél Pál <kornelpal@gmail.com>
66 * Encoding.cs: Fix possible integer overflow in argument validation.
68 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
70 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
71 check. Found using Gendarme new UseIsOperator rule.
72 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
73 check. Found using Gendarme new UseIsOperator rule.
75 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
77 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
78 the same "\uFFFD" fix for encoder fallback.
79 Reduced extra instantiation of those fallbacks.
81 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
83 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
85 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
87 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
90 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
92 * UnicodeEncoding.cs : fix build.
94 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
96 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
97 input buffer. When fallback is not assigned, just return '\0'.
98 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
99 Default replacement fallback buffer is now "\uFFFD".
100 * UTF8Encoding.cs : couple of replacement buffer size fixes.
101 Default replacement fallback buffer is now "\uFFFD".
102 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
103 See http://support.microsoft.com/kb/940521/ for this change.
105 2007-08-15 Jb Evain <jbveain@novell.com>
107 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
108 the compile picks up the adequate method when AppendFormat
109 is used in 2.1 platform code.
111 2007-07-28 Miguel de Icaza <miguel@novell.com>
113 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
115 2007-05-03 Dick Porter <dick@ximian.com>
118 * UnicodeEncoding.cs:
119 * UTF7Encoding.cs: Update to 2.0 profile
121 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
123 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
124 In Encoding.Default, catch both ArgumentException and NotSupportException.
126 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
128 * Encoding.cs : the change broke the build, so reverted part of it.
130 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
132 * Encoding.cs: Also set ParamName of the ArgumentException.
134 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
136 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
137 and above 0xffff. Modified NotSupportedException to ArgumentException in
138 GetEncoding (string).
140 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
142 * EncoderFallbackBuffer.cs : implement Reset().
144 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
146 * Encoding.cs: Make the GetByteCcount method used fixed pointers
147 removes quite a few allocations from Banshee.
149 2006-09-03 Zoltan Varga <vargaz@gmail.com>
151 * StringBuilder.cs (.ctor): Add a comment.
153 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
156 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
158 * UTF32Encoding.cs, UTF7Encoding.cs :
159 Fixed GetHashCode() and Equals() as well.
160 Added several missing overrides in 2.0.
162 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
164 * Encoding.cs : implemented IsAlwaysNormalized().
165 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
168 2006-07-18 Kornél Pál <kornelpal@gmail.com>
170 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
171 than new string (sbyte*, int, int) that uses Encoding.Default.
172 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
173 than new string (sbyte*, int, int) that uses Encoding.Default.
175 2006-07-11 Kornél Pál <kornelpal@gmail.com>
177 * StringBuilder.cs: Pad the string with NULL characters when setting
178 Length. This is now documented:
179 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
181 2006-07-06 Kornél Pál <kornelpal@gmail.com>
183 * CodePageEncoding.cs: Corrected comments.
184 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
185 ArgumentExceptions in private constructors.
186 * SurrogateEncoder.cs: Corrected comments.
188 2006-07-05 Kornél Pál <kornelpal@gmail.com>
190 * CodePageEncoding.cs: Return the same real object in subsequent
191 calls to GetRealObject ().
192 * MLangCodePageEncoding.cs: Return the same real object in
193 subsequent calls to GetRealObject (). Rename Encoder and Decoder
194 MLangEncoder and MLangDecoder. These classes are not serializable
195 in 1.x although MS.NET 2.0 can deserialize them.
196 * SurrogateEncoder.cs: Return the same real object in subsequent
197 calls to GetRealObject ().
199 2006-07-04 Kornél Pál <kornelpal@gmail.com>
201 * CodePageEncoding.cs: Added comment on usage.
202 * MLangCodePageEncoding.cs: Added comment on usage.
203 * SurrogateEncoder.cs: Added comment on usage.
205 2006-07-03 Kornél Pál <kornelpal@gmail.com>
207 * CodePageEncoding.cs: Added.
208 * MLangCodePageEncoding.cs: Added.
209 * SurrogateEncoder.cs: Added.
211 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
213 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
215 2006-06-24 Kornél Pál <kornelpal@gmail.com>
217 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
218 StreamReader should detect byte order marks.
220 2006-06-21 Kornél Pál <kornelpal@gmail.com>
222 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
225 2006-06-06 Kornél Pál <kornelpal@gmail.com>
227 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
228 profile 1.x as well because performance improvement is worth the
229 signature difference. (Fix regression of r61250.)
231 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
233 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
234 Marked 2.0-only members as ComVisible (false).
235 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
236 2.0-only members as ComVisible (false).
237 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
238 2.0-only members as ComVisible (false).
239 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
240 2.0-only members as ComVisible (false).
241 * NormalizationForm.cs: Marked ComVisible (true).
242 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
243 Marked 2.0-only methods as ComVisible (false).
244 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
245 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
246 missing ctor in 2.0 profile, and marked in MonoTODO.
247 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
248 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
250 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
252 * EncodingInfo.cs, Encoding.cs :
253 Implemented Encoding.GetEncodings(). It's so hacky!
255 2006-04-13 Kornél Pál <kornelpal@gmail.com>
257 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
258 as MS.NET does. This is a more reasonable high level wrapper
260 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
261 instead of using GetBytesInternal to be MS.NET compatible.
262 Override GetString (byte [], int, int) to speed up string creation.
264 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
266 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
268 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
270 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
271 check in some methods.
273 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
275 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
276 there are optimizations, but for now we need something just works).
278 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
280 * UTF8Encoding.cs : made internal implementation as pointer-based,
281 and added pointer-based converter method overloads.
283 2006-03-21 Kornél Pál <kornelpal@gmail.com>
285 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
288 2006-03-09 Zoltan Varga <vargaz@gmail.com>
290 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
292 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
294 * UTF8Encoding.cs : Fallback was indicating incorrect index.
297 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
299 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
300 in IL. 10% performance improvement.
302 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
304 * UTF8Encoding.cs : avoid possible overflow.
306 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
308 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
309 be checked. Also it should not ignore leftOver characters even if
310 byte buffer length is 0.
312 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
314 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
315 and InternalGetBytes().
317 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
320 actually leftover bits needs more careful handleding. So it's
321 better to be rather close to the original GetBytes().
322 Also changed leftOver handling so that it will be able to support
325 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
328 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
329 pointers. However, InternalGetBytes() was slower than
330 GetBytes(string, ...), so first replaced existing InternalGetBytes()
331 with GetBytes() internals, and GetBytes(string, ...) switched to
332 InternalGetBytes(). Now GetBytes() implementation code is reduced
335 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
337 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
338 Now it handles the entire bytes, not just half of them.
340 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
342 * UTF8Encoding.cs : zero-length check was wrong. Check it by
343 "charIndex == chars.Length" instead of "charCount == 0".
345 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
347 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
348 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
350 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
352 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
353 this time InternalGetChars() as well.
355 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
357 * StringBuilder.cs: Avoid computing computation for the string
360 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
362 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
365 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
367 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
370 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
372 * UTF7Encoding.cs UTF8Encoding.cs :
373 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
374 Make strict check for invalid surrogate.
376 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
378 * EncoderFallbackException.cs EncoderExceptionFallback.cs
379 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
380 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
381 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
382 DecoderFallbackException.cs DecoderExceptionFallback.cs
383 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
384 EncoderReplacementFallbackBuffer.cs :
385 include them in net_2_0bootstrap build.
387 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
389 * Decoder.cs : ditto.
391 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
393 * Encoder.cs : Fallback should be initialized to have an instance.
395 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
397 * Encoding.cs : Cloned instances should not be read-only.
399 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
401 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
403 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
405 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
406 byte*-based GetBytes().
407 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
408 which came to happen after introducing fallback buffer.
410 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
412 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
415 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
417 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
418 Added FallbackBuffer.
419 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
421 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
423 * EncodingInfo.cs : new file.
425 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
427 * UTF32Encoding.cs : Sealed. Added the overload which has
428 throwOnInvalid parameter.
429 * NormalizationForm.cs : removed [Serializable].
431 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
433 * Encoding.cs : added UTF32.
435 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
437 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
440 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
442 * UTF32Encoding.cs : new file.
444 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
446 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
447 * Encoding.cs : changed default fallback selection. Seems like only
448 ASCII and GB18030 uses '?' for replacement.
449 * UTF8Encoding.cs : now that Fallback is read only by default, we
452 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
454 * UTF8Encoding.cs : safer UTF8Decoder ctor.
456 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
458 * Decoder.cs : added FallbackBuffer property.
459 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
462 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
464 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
466 * EncoderReplacementFallbackBuffer.cs : implemented.
467 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
470 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
472 * DecoderFallbackBuffer.cs : Reset() does nothing here.
473 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
474 bytesUnknown is used.
476 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
478 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
480 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
482 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
483 * Encoder.cs : Added Fallback property.
484 * Decoder.cs : Added Fallback property.
486 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
488 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
489 EncoderExceptionFallbackBuffer.cs,
490 EncoderReplacementFallbackBuffer.cs,
491 EncoderFallbackException.cs,
492 EncoderExceptionFallback.cs,
493 EncoderReplacementFallback.cs : new files (not actually used yet).
494 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
495 DecoderReplacementFallback.cs : [Serializable] and sealed.
496 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
498 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
500 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
501 DecoderExceptionFallbackBuffer.cs,
502 DecoderReplacementFallbackBuffer.cs,
503 DecoderFallbackException.cs,
504 DecoderExceptionFallback.cs,
505 DecoderReplacementFallback.cs : new files (not actually used yet).
507 2005-11-14 Miguel de Icaza <miguel@novell.com>
509 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
512 Also add some checks that were missing.
514 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
516 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
517 were failing under 2.0) and two possible integer overflow in CopyTo.
519 2005-11-11 Miguel de Icaza <miguel@novell.com>
521 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
523 * StringBuilder.cs (Text): Added serialization support in 2.x.
525 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
527 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
528 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
529 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
530 ((ch & 0xFE) == 0xFC).
532 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
534 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
535 Don't exclude FEFF in the resulting text.
537 2005-06-21 Ben Maurer <bmaurer@ximian.com>
539 * StringBuilder.cs (Replace): Do the correct thing when we replace
540 with a longer string. Thanks to Alexander Beznozdrev
541 <abeznozdrev@croc.ru>
543 2005-05-26 Ben Maurer <bmaurer@ximian.com>
545 * Encoding.cs: Use static object for locking. `volatile' to
546 prevent double checked locking error.
548 * StringBuilder.cs: Remove = null inits on fields, saves a few
549 instructions. When we compare _cached_str == _str, we are only
550 interested in pointer based equality, so just do that.
552 2005-05-06 Ben Maurer <bmaurer@ximian.com>
554 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
555 the size we attempt to grow to is more than the max capacity, but
556 that a smaller size will do. In this case, don't throw an
557 exception. Fixes #72244
559 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
561 * NormalizationForm.cs : new file.
563 2005-03-20 Ben Maurer <bmaurer@ximian.com>
565 * StringBuilder.cs (set_Length): If we set the length, we must
566 clobber the cached string.
568 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
570 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
573 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
575 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
576 whose length is greater than 3. Patch by Svetlana Zholkovsky.
578 2005-01-31 Ben Maurer <bmaurer@ximian.com>
580 * StringBuilder.cs (Remove): We need to do the check that the
581 string isnt being cached *before* we munge it.
583 2005-01-21 Ben Maurer <bmaurer@ximian.com>
585 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
586 lazily. This saves us lots of memory if you only use the
587 stringbuilder once. Also, we can allocate on the second Append,
588 which might reduce the number of buffers allocated.
590 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
592 * StringBuilder.cs: Improved parameter check.
594 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
596 * StringBuilder.cs: when creating the StringBuilder from a string, the
597 maximum capacity remains Int32.MaxValue.
599 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
601 * StringBuilder.cs: throw if the new size is greater than the maximum
602 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
605 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
607 * UTF7Encoding.cs: Fixed warning for unused variable.
609 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
611 * Encoding.cs: Add encoding name "latin1" for compatibility with
614 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
616 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
618 2004-09-09 Tim Coleman <tim@timcoleman.com>
620 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
622 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
624 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
625 Follow the RFC1642 rules for "overbits".
627 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
629 * ASCIIEncoding.cs: added TODO for serialization
630 * StringBuilder.cs: added TODO for serialization
631 * UnicodeEncoding.cs: added TODO for serialization
632 * UTF7Encoding.cs: added TODO for serialization
633 * UTF8Encoding.cs: added TODO for serialization
635 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
637 * Encoding.cs: Marked protected internal field as internal to
640 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
642 * UTF8Encoding.cs : Length check must be done only when the character
643 sequence is valid (i.e. should not check when it is overlongs).
644 See also TestThrowOnInvalid().
646 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
648 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
650 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
652 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
653 true. Otherwise just ignore them.
655 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
657 * StringBuilder.cs: Fixed potential integer overflows in several
660 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
662 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
663 pair. This fix bug #57009 (and 2 failing unit tests). Added code
664 to check for some (like MS) overlongs.
666 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
668 * Encoding.cs: Use name const to load I18N assembly.
670 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
672 * Encoding.cs: Call shortcut String.ToLowerInvariant
674 2004-04-13 Miguel de Icaza <miguel@ximian.com>
676 * Encoding.cs: Use new internal codepage setup.
678 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
680 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
682 2004-03-19 Dick Porter <dick@ximian.com>
684 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
685 BOM at the beginning of the range of characters we're interested
686 in, not at the beginning of the array. Fixes bug 51531.
688 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
691 (Insert int, char[]): fix by using new string(char[]) instead of
692 char[].ToString() and simplify.
693 (Insert int, string, int): add LAMESPEC note.
694 (Insert int char[], int, int): handle value==null according to spec.
695 Use a string instead of char array + Array.Copy (gonzalo)
697 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700 (Append (string)): remove redundant check.
702 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
705 (Remove): fixed offsets when copying and set the new size. Fixes bug
708 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
710 * StringBuilder.cs: added checks for null in a few Append methods.
712 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
714 * StringBuilder.cs: fixed start offset in Append(char).
716 2004-01-12 Patrik Torstensson
718 * StringBuilder.cs: new implementation that uses
719 string as a buffer instead of a array of chars.
721 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
723 * UTF8Encoding.cs (GetBytes string): Do not call base
724 The version in Encoding will call string.ToCharArray (),
725 allocating an extra array. By calling the better method
726 in our own class we can save memory.
728 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
730 * StringBuilder.cs (Insert int, char): It is really silly and
731 wasteful to allocate an array here. We can just copy the value
734 2003-11-11 Miguel de Icaza <miguel@ximian.com>
736 * Encoding.cs: Use an internal variable to track the parameters of
737 each encoder, since the .NET API does not expose virtual methods
738 in the child classes, we should not depend on that.
740 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
741 Initialize the parameters for base class encoding here.
743 2003-09-01 Miguel de Icaza <miguel@ximian.com>
745 * Encoding.cs (UTF8Unmarked): make it also not error out on
746 invalid input, that is what the Microsoft default is for the
747 StreamReader and BinaryReader expect (our main consumers).
749 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
752 (AppendFormat) Use FormatHelper in System.String to avoid
753 allocating an extra StringBuilder.
754 (Append string, int, int), (Append char, int): Both were
755 allocating extra strings.
757 2003-06-05 Nick Drochak <ndrochak@gol.com>
759 * UTF8Encoding.cs: Cleanups according to class status page
761 2003-05-10 Miguel de Icaza <miguel@ximian.com>
763 * Encoding.cs (GetEncoding): Add all the aliases documented in the
764 framework. We were missing a few.
766 Reorganize the table. Also, convert the input name into the
767 lower-case - to _ before we compare against our table.
769 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
771 * StringBuilder.cs: fixed bug #41397.
773 2003-04-12 Miguel de Icaza <miguel@ximian.com>
775 * Encoding.cs: Enabled the code paths that we did have commented
776 out, they seem to work now.
778 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
780 * StringBuilder.cs: cache the result from ToString().
782 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
784 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
785 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
787 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
789 * ASCIIEncoding.cs: fixed bug #38984.
791 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
794 * Latin1Encoding.cs: fix GetString (byte[]) and
795 GetString (byte[], int, int) for zero-length case.
797 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
799 * Latin1Encoding.cs: added Serializable attribute.
801 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
803 * Encoding.cs: removed UnixConsoleEncoding.
805 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
807 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
808 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
809 This fixes the StringBuilder unit tests.
811 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
813 * StringBuilder.cs: fixed typo in set_Length.
815 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
817 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
818 encoding is not found, default to UTF8Unmarked. Removed comment in
819 UnixConsoleEncoding, because it's now Default, which gets the
820 encoding internally using g_get_encoding ().
822 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
824 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
826 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
828 * UTF8Encoding.cs: fix GetByteCount (), too.
830 2002-11-19 Miguel de Icaza <miguel@ximian.com>
832 * UnicodeEncoding.cs: the bytemark should only be used to return
833 information in GetPreamble, not to actually encode the information
834 on the stream. That is taken care of by the Stream classes.
836 * UTF8Encoding.cs: ditto.
838 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
840 * StringBuilder.cs: only move the remaining chars in Remove.
842 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
844 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
845 locking whenever possible.
847 2002-10-30 Miguel de Icaza <miguel@ximian.com>
849 * Encoding.cs (UTF8Unmarked): New static property, used to return
850 a no-markers UTf8 encoder, used in a few places in the class library.
852 2002-09-06 Miguel de Icaza <miguel@ximian.com>
854 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
855 what the Microsoft version does.
857 (UnixConsoleEncoding): New internal method, used to get the
858 encoding, in the future, this should pull the locale, map to
859 charset and then code page.
861 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
863 * Encoding.cs: use icall to get default codepage.
864 * DefaultEncoding.cs: remove useless class.
866 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
868 * *.cs: change to conform to mono coding style.
870 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
878 * UnicodeEncoding.cs: added Serializable attribute.
880 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
882 * StringBuilder.cs: improved performace by using String.InternalCopyTo
883 instead of using ToCharArray all over the place (more that 50% of
884 speed improvement when using Append).
886 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
888 * *.cs: imported the code donated by Rhys Weatherley
889 <rweather@southern-storm.com.au>.
891 2002-08-18 Dick Porter <dick@ximian.com>
893 * Encoding.cs: Make GetString() return a useful representation of
894 the bytes, rather than "System.Char[]"
896 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
898 * StringBuilder.cs: added IndexerName to indexer.
900 2002-08-01 Jason Diamond <jason@injektilo.org>
902 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
903 converting chars to bytes.
905 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
907 * StringBuilder.cs: updated comments. MaxCapacity always returns
910 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
912 * StringBuilder.cs: implemented AppendFormat methods using
913 String.Format. Thanks Paolo!
915 This makes xsp generate correct C# output in linux :-). I still need
916 to do more testing, though.
918 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
920 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
922 2002-05-19 Martin Baulig <martin@gnome.org>
924 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
925 Added exception handling.
927 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
928 Added exception handling.
930 2002/04/02 Nick Drochak <ndrochak@gol.com>
932 * StringBuilder.cs (Append): Removed obsolete overload.
934 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
936 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
938 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
940 * StringBuilder.cs: no need to intern the string returned by ToString().
942 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
944 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
945 dependent on iconv icalls.
946 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
949 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
951 * StringBuilder.cs: make ToString() return a interned string, this
952 seems to be required to make switch on string work.
954 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
956 * StringBuilder.cs: make Append(char) do the smart thing.
958 2002-01-05 Ravi Pratap <ravi@ximian.com>
960 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
961 UnicodeEncoding.cs: MonoTODO attribute marking.
963 * StringBuilder.cs : Ditto.
965 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
967 * Encoding.cs: renamed some fields.
968 * StringBuilder.cs: CLSCompliant updates.
970 2001-10-29 Nick Drochak <ndrochak@gol.com>
972 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
973 invalid. Just like MS does (as best as I can tell).
975 Tests for these exceptions are now added to the unit tests as well.
977 2001-10-25 Nick Drochak <ndrochak@gol.com>
979 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
980 whose capacity is greater than the MaxCapacity.
982 I added some tests for the constructors and the above exception. More
985 2001-10-23 Nick Drochak <ndrochak@gol.com>
987 * StringBuilder.cs: Refactored constructor code into just one
988 constructor. All the other construtors call it. Also supplied missing
989 constructors so the class has all those in the spec.
991 Added the MaxCapacity property as well, however this needs to be
992 completed to return a value is related to the available system memory.
994 2001-10-07 Miguel de Icaza <miguel@ximian.com>
996 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
997 UnicodeEncoding.cs: Corrected API.
999 * UTF8Encoding.cs: Checked in changes from Rafael.
1001 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
1003 * UTF8Encoding.cs: impl. clumsy GetBytes
1005 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
1007 * StringBuilder.cs (Text): Fixed.
1009 * StringBuilderTest.cs: Implement Test suite.
1011 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
1013 * StringBuilder.cs: Implemented.
1015 The only methods left unimplemented are the AppendFormat( ... )
1016 ones just because it's probably better to wait until some of the
1017 Format related classes are implemented. I've put that as a TODO
1018 comment at the top and created the methods with a "nop" body.
1020 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
1022 * UnicodeEncoding.cs: Members added so that a clean compile is
1025 * ASCIIEncoding.cs: Members added so that a clean compile is
1028 * UTF7Encoding.cs: Members added so that a clean compile is
1031 * UTF8Encoding.cs: Members added so that a clean compile is
1034 * Encoding.cs: All public members included. Most members