1 2008-06-01 Juraj Skripsky <js@hotfeet.ch>
3 * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
4 of String.Substring, as the former is guaranteed to create a new
5 string object. Fixes bug #395904.
7 2008-05-15 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
9 * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
11 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
14 Fixed misplaced leftOverSize reset in InternalGetCharCount().
15 Fixed base64 value for '+' (the value is actually unused though).
17 2008-03-27 Kornél Pál <kornelpal@gmail.com>
19 * Encoding.cs: Fix possible integer overflow in argument validation.
21 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
23 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
24 check. Found using Gendarme new UseIsOperator rule.
25 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
26 check. Found using Gendarme new UseIsOperator rule.
28 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
30 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
31 the same "\uFFFD" fix for encoder fallback.
32 Reduced extra instantiation of those fallbacks.
34 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
36 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
38 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
40 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
43 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
45 * UnicodeEncoding.cs : fix build.
47 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
49 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
50 input buffer. When fallback is not assigned, just return '\0'.
51 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
52 Default replacement fallback buffer is now "\uFFFD".
53 * UTF8Encoding.cs : couple of replacement buffer size fixes.
54 Default replacement fallback buffer is now "\uFFFD".
55 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
56 See http://support.microsoft.com/kb/940521/ for this change.
58 2007-08-15 Jb Evain <jbveain@novell.com>
60 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
61 the compile picks up the adequate method when AppendFormat
62 is used in 2.1 platform code.
64 2007-07-28 Miguel de Icaza <miguel@novell.com>
66 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
68 2007-05-03 Dick Porter <dick@ximian.com>
72 * UTF7Encoding.cs: Update to 2.0 profile
74 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
76 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
77 In Encoding.Default, catch both ArgumentException and NotSupportException.
79 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
81 * Encoding.cs : the change broke the build, so reverted part of it.
83 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
85 * Encoding.cs: Also set ParamName of the ArgumentException.
87 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
89 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
90 and above 0xffff. Modified NotSupportedException to ArgumentException in
93 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
95 * EncoderFallbackBuffer.cs : implement Reset().
97 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
99 * Encoding.cs: Make the GetByteCcount method used fixed pointers
100 removes quite a few allocations from Banshee.
102 2006-09-03 Zoltan Varga <vargaz@gmail.com>
104 * StringBuilder.cs (.ctor): Add a comment.
106 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
109 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
111 * UTF32Encoding.cs, UTF7Encoding.cs :
112 Fixed GetHashCode() and Equals() as well.
113 Added several missing overrides in 2.0.
115 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
117 * Encoding.cs : implemented IsAlwaysNormalized().
118 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
121 2006-07-18 Kornél Pál <kornelpal@gmail.com>
123 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
124 than new string (sbyte*, int, int) that uses Encoding.Default.
125 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
126 than new string (sbyte*, int, int) that uses Encoding.Default.
128 2006-07-11 Kornél Pál <kornelpal@gmail.com>
130 * StringBuilder.cs: Pad the string with NULL characters when setting
131 Length. This is now documented:
132 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
134 2006-07-06 Kornél Pál <kornelpal@gmail.com>
136 * CodePageEncoding.cs: Corrected comments.
137 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
138 ArgumentExceptions in private constructors.
139 * SurrogateEncoder.cs: Corrected comments.
141 2006-07-05 Kornél Pál <kornelpal@gmail.com>
143 * CodePageEncoding.cs: Return the same real object in subsequent
144 calls to GetRealObject ().
145 * MLangCodePageEncoding.cs: Return the same real object in
146 subsequent calls to GetRealObject (). Rename Encoder and Decoder
147 MLangEncoder and MLangDecoder. These classes are not serializable
148 in 1.x although MS.NET 2.0 can deserialize them.
149 * SurrogateEncoder.cs: Return the same real object in subsequent
150 calls to GetRealObject ().
152 2006-07-04 Kornél Pál <kornelpal@gmail.com>
154 * CodePageEncoding.cs: Added comment on usage.
155 * MLangCodePageEncoding.cs: Added comment on usage.
156 * SurrogateEncoder.cs: Added comment on usage.
158 2006-07-03 Kornél Pál <kornelpal@gmail.com>
160 * CodePageEncoding.cs: Added.
161 * MLangCodePageEncoding.cs: Added.
162 * SurrogateEncoder.cs: Added.
164 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
166 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
168 2006-06-24 Kornél Pál <kornelpal@gmail.com>
170 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
171 StreamReader should detect byte order marks.
173 2006-06-21 Kornél Pál <kornelpal@gmail.com>
175 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
178 2006-06-06 Kornél Pál <kornelpal@gmail.com>
180 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
181 profile 1.x as well because performance improvement is worth the
182 signature difference. (Fix regression of r61250.)
184 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
186 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
187 Marked 2.0-only members as ComVisible (false).
188 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
189 2.0-only members as ComVisible (false).
190 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
191 2.0-only members as ComVisible (false).
192 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
193 2.0-only members as ComVisible (false).
194 * NormalizationForm.cs: Marked ComVisible (true).
195 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
196 Marked 2.0-only methods as ComVisible (false).
197 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
198 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
199 missing ctor in 2.0 profile, and marked in MonoTODO.
200 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
201 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
203 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
205 * EncodingInfo.cs, Encoding.cs :
206 Implemented Encoding.GetEncodings(). It's so hacky!
208 2006-04-13 Kornél Pál <kornelpal@gmail.com>
210 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
211 as MS.NET does. This is a more reasonable high level wrapper
213 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
214 instead of using GetBytesInternal to be MS.NET compatible.
215 Override GetString (byte [], int, int) to speed up string creation.
217 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
219 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
221 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
223 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
224 check in some methods.
226 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
228 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
229 there are optimizations, but for now we need something just works).
231 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
233 * UTF8Encoding.cs : made internal implementation as pointer-based,
234 and added pointer-based converter method overloads.
236 2006-03-21 Kornél Pál <kornelpal@gmail.com>
238 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
241 2006-03-09 Zoltan Varga <vargaz@gmail.com>
243 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
245 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
247 * UTF8Encoding.cs : Fallback was indicating incorrect index.
250 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
252 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
253 in IL. 10% performance improvement.
255 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
257 * UTF8Encoding.cs : avoid possible overflow.
259 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
261 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
262 be checked. Also it should not ignore leftOver characters even if
263 byte buffer length is 0.
265 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
267 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
268 and InternalGetBytes().
270 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
273 actually leftover bits needs more careful handleding. So it's
274 better to be rather close to the original GetBytes().
275 Also changed leftOver handling so that it will be able to support
278 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
281 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
282 pointers. However, InternalGetBytes() was slower than
283 GetBytes(string, ...), so first replaced existing InternalGetBytes()
284 with GetBytes() internals, and GetBytes(string, ...) switched to
285 InternalGetBytes(). Now GetBytes() implementation code is reduced
288 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
290 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
291 Now it handles the entire bytes, not just half of them.
293 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
295 * UTF8Encoding.cs : zero-length check was wrong. Check it by
296 "charIndex == chars.Length" instead of "charCount == 0".
298 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
300 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
301 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
303 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
305 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
306 this time InternalGetChars() as well.
308 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
310 * StringBuilder.cs: Avoid computing computation for the string
313 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
315 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
318 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
320 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
323 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
325 * UTF7Encoding.cs UTF8Encoding.cs :
326 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
327 Make strict check for invalid surrogate.
329 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
331 * EncoderFallbackException.cs EncoderExceptionFallback.cs
332 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
333 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
334 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
335 DecoderFallbackException.cs DecoderExceptionFallback.cs
336 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
337 EncoderReplacementFallbackBuffer.cs :
338 include them in net_2_0bootstrap build.
340 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
342 * Decoder.cs : ditto.
344 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
346 * Encoder.cs : Fallback should be initialized to have an instance.
348 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
350 * Encoding.cs : Cloned instances should not be read-only.
352 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
354 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
356 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
358 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
359 byte*-based GetBytes().
360 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
361 which came to happen after introducing fallback buffer.
363 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
365 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
368 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
370 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
371 Added FallbackBuffer.
372 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
374 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
376 * EncodingInfo.cs : new file.
378 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
380 * UTF32Encoding.cs : Sealed. Added the overload which has
381 throwOnInvalid parameter.
382 * NormalizationForm.cs : removed [Serializable].
384 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
386 * Encoding.cs : added UTF32.
388 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
390 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
393 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
395 * UTF32Encoding.cs : new file.
397 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
399 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
400 * Encoding.cs : changed default fallback selection. Seems like only
401 ASCII and GB18030 uses '?' for replacement.
402 * UTF8Encoding.cs : now that Fallback is read only by default, we
405 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
407 * UTF8Encoding.cs : safer UTF8Decoder ctor.
409 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
411 * Decoder.cs : added FallbackBuffer property.
412 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
415 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
417 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
419 * EncoderReplacementFallbackBuffer.cs : implemented.
420 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
423 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
425 * DecoderFallbackBuffer.cs : Reset() does nothing here.
426 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
427 bytesUnknown is used.
429 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
431 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
433 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
435 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
436 * Encoder.cs : Added Fallback property.
437 * Decoder.cs : Added Fallback property.
439 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
441 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
442 EncoderExceptionFallbackBuffer.cs,
443 EncoderReplacementFallbackBuffer.cs,
444 EncoderFallbackException.cs,
445 EncoderExceptionFallback.cs,
446 EncoderReplacementFallback.cs : new files (not actually used yet).
447 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
448 DecoderReplacementFallback.cs : [Serializable] and sealed.
449 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
451 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
453 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
454 DecoderExceptionFallbackBuffer.cs,
455 DecoderReplacementFallbackBuffer.cs,
456 DecoderFallbackException.cs,
457 DecoderExceptionFallback.cs,
458 DecoderReplacementFallback.cs : new files (not actually used yet).
460 2005-11-14 Miguel de Icaza <miguel@novell.com>
462 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
465 Also add some checks that were missing.
467 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
469 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
470 were failing under 2.0) and two possible integer overflow in CopyTo.
472 2005-11-11 Miguel de Icaza <miguel@novell.com>
474 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
476 * StringBuilder.cs (Text): Added serialization support in 2.x.
478 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
480 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
481 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
482 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
483 ((ch & 0xFE) == 0xFC).
485 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
487 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
488 Don't exclude FEFF in the resulting text.
490 2005-06-21 Ben Maurer <bmaurer@ximian.com>
492 * StringBuilder.cs (Replace): Do the correct thing when we replace
493 with a longer string. Thanks to Alexander Beznozdrev
494 <abeznozdrev@croc.ru>
496 2005-05-26 Ben Maurer <bmaurer@ximian.com>
498 * Encoding.cs: Use static object for locking. `volatile' to
499 prevent double checked locking error.
501 * StringBuilder.cs: Remove = null inits on fields, saves a few
502 instructions. When we compare _cached_str == _str, we are only
503 interested in pointer based equality, so just do that.
505 2005-05-06 Ben Maurer <bmaurer@ximian.com>
507 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
508 the size we attempt to grow to is more than the max capacity, but
509 that a smaller size will do. In this case, don't throw an
510 exception. Fixes #72244
512 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
514 * NormalizationForm.cs : new file.
516 2005-03-20 Ben Maurer <bmaurer@ximian.com>
518 * StringBuilder.cs (set_Length): If we set the length, we must
519 clobber the cached string.
521 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
523 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
526 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
528 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
529 whose length is greater than 3. Patch by Svetlana Zholkovsky.
531 2005-01-31 Ben Maurer <bmaurer@ximian.com>
533 * StringBuilder.cs (Remove): We need to do the check that the
534 string isnt being cached *before* we munge it.
536 2005-01-21 Ben Maurer <bmaurer@ximian.com>
538 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
539 lazily. This saves us lots of memory if you only use the
540 stringbuilder once. Also, we can allocate on the second Append,
541 which might reduce the number of buffers allocated.
543 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
545 * StringBuilder.cs: Improved parameter check.
547 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
549 * StringBuilder.cs: when creating the StringBuilder from a string, the
550 maximum capacity remains Int32.MaxValue.
552 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554 * StringBuilder.cs: throw if the new size is greater than the maximum
555 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
558 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
560 * UTF7Encoding.cs: Fixed warning for unused variable.
562 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
564 * Encoding.cs: Add encoding name "latin1" for compatibility with
567 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
569 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
571 2004-09-09 Tim Coleman <tim@timcoleman.com>
573 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
575 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
577 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
578 Follow the RFC1642 rules for "overbits".
580 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
582 * ASCIIEncoding.cs: added TODO for serialization
583 * StringBuilder.cs: added TODO for serialization
584 * UnicodeEncoding.cs: added TODO for serialization
585 * UTF7Encoding.cs: added TODO for serialization
586 * UTF8Encoding.cs: added TODO for serialization
588 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
590 * Encoding.cs: Marked protected internal field as internal to
593 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
595 * UTF8Encoding.cs : Length check must be done only when the character
596 sequence is valid (i.e. should not check when it is overlongs).
597 See also TestThrowOnInvalid().
599 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
601 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
603 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
605 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
606 true. Otherwise just ignore them.
608 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
610 * StringBuilder.cs: Fixed potential integer overflows in several
613 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
615 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
616 pair. This fix bug #57009 (and 2 failing unit tests). Added code
617 to check for some (like MS) overlongs.
619 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
621 * Encoding.cs: Use name const to load I18N assembly.
623 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
625 * Encoding.cs: Call shortcut String.ToLowerInvariant
627 2004-04-13 Miguel de Icaza <miguel@ximian.com>
629 * Encoding.cs: Use new internal codepage setup.
631 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
633 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
635 2004-03-19 Dick Porter <dick@ximian.com>
637 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
638 BOM at the beginning of the range of characters we're interested
639 in, not at the beginning of the array. Fixes bug 51531.
641 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
644 (Insert int, char[]): fix by using new string(char[]) instead of
645 char[].ToString() and simplify.
646 (Insert int, string, int): add LAMESPEC note.
647 (Insert int char[], int, int): handle value==null according to spec.
648 Use a string instead of char array + Array.Copy (gonzalo)
650 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
653 (Append (string)): remove redundant check.
655 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
658 (Remove): fixed offsets when copying and set the new size. Fixes bug
661 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
663 * StringBuilder.cs: added checks for null in a few Append methods.
665 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
667 * StringBuilder.cs: fixed start offset in Append(char).
669 2004-01-12 Patrik Torstensson
671 * StringBuilder.cs: new implementation that uses
672 string as a buffer instead of a array of chars.
674 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
676 * UTF8Encoding.cs (GetBytes string): Do not call base
677 The version in Encoding will call string.ToCharArray (),
678 allocating an extra array. By calling the better method
679 in our own class we can save memory.
681 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
683 * StringBuilder.cs (Insert int, char): It is really silly and
684 wasteful to allocate an array here. We can just copy the value
687 2003-11-11 Miguel de Icaza <miguel@ximian.com>
689 * Encoding.cs: Use an internal variable to track the parameters of
690 each encoder, since the .NET API does not expose virtual methods
691 in the child classes, we should not depend on that.
693 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
694 Initialize the parameters for base class encoding here.
696 2003-09-01 Miguel de Icaza <miguel@ximian.com>
698 * Encoding.cs (UTF8Unmarked): make it also not error out on
699 invalid input, that is what the Microsoft default is for the
700 StreamReader and BinaryReader expect (our main consumers).
702 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
705 (AppendFormat) Use FormatHelper in System.String to avoid
706 allocating an extra StringBuilder.
707 (Append string, int, int), (Append char, int): Both were
708 allocating extra strings.
710 2003-06-05 Nick Drochak <ndrochak@gol.com>
712 * UTF8Encoding.cs: Cleanups according to class status page
714 2003-05-10 Miguel de Icaza <miguel@ximian.com>
716 * Encoding.cs (GetEncoding): Add all the aliases documented in the
717 framework. We were missing a few.
719 Reorganize the table. Also, convert the input name into the
720 lower-case - to _ before we compare against our table.
722 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
724 * StringBuilder.cs: fixed bug #41397.
726 2003-04-12 Miguel de Icaza <miguel@ximian.com>
728 * Encoding.cs: Enabled the code paths that we did have commented
729 out, they seem to work now.
731 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
733 * StringBuilder.cs: cache the result from ToString().
735 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
737 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
738 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
740 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
742 * ASCIIEncoding.cs: fixed bug #38984.
744 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
747 * Latin1Encoding.cs: fix GetString (byte[]) and
748 GetString (byte[], int, int) for zero-length case.
750 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
752 * Latin1Encoding.cs: added Serializable attribute.
754 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
756 * Encoding.cs: removed UnixConsoleEncoding.
758 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
760 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
761 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
762 This fixes the StringBuilder unit tests.
764 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
766 * StringBuilder.cs: fixed typo in set_Length.
768 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
770 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
771 encoding is not found, default to UTF8Unmarked. Removed comment in
772 UnixConsoleEncoding, because it's now Default, which gets the
773 encoding internally using g_get_encoding ().
775 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
777 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
779 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
781 * UTF8Encoding.cs: fix GetByteCount (), too.
783 2002-11-19 Miguel de Icaza <miguel@ximian.com>
785 * UnicodeEncoding.cs: the bytemark should only be used to return
786 information in GetPreamble, not to actually encode the information
787 on the stream. That is taken care of by the Stream classes.
789 * UTF8Encoding.cs: ditto.
791 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793 * StringBuilder.cs: only move the remaining chars in Remove.
795 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
797 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
798 locking whenever possible.
800 2002-10-30 Miguel de Icaza <miguel@ximian.com>
802 * Encoding.cs (UTF8Unmarked): New static property, used to return
803 a no-markers UTf8 encoder, used in a few places in the class library.
805 2002-09-06 Miguel de Icaza <miguel@ximian.com>
807 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
808 what the Microsoft version does.
810 (UnixConsoleEncoding): New internal method, used to get the
811 encoding, in the future, this should pull the locale, map to
812 charset and then code page.
814 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
816 * Encoding.cs: use icall to get default codepage.
817 * DefaultEncoding.cs: remove useless class.
819 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
821 * *.cs: change to conform to mono coding style.
823 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
831 * UnicodeEncoding.cs: added Serializable attribute.
833 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
835 * StringBuilder.cs: improved performace by using String.InternalCopyTo
836 instead of using ToCharArray all over the place (more that 50% of
837 speed improvement when using Append).
839 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
841 * *.cs: imported the code donated by Rhys Weatherley
842 <rweather@southern-storm.com.au>.
844 2002-08-18 Dick Porter <dick@ximian.com>
846 * Encoding.cs: Make GetString() return a useful representation of
847 the bytes, rather than "System.Char[]"
849 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
851 * StringBuilder.cs: added IndexerName to indexer.
853 2002-08-01 Jason Diamond <jason@injektilo.org>
855 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
856 converting chars to bytes.
858 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
860 * StringBuilder.cs: updated comments. MaxCapacity always returns
863 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
865 * StringBuilder.cs: implemented AppendFormat methods using
866 String.Format. Thanks Paolo!
868 This makes xsp generate correct C# output in linux :-). I still need
869 to do more testing, though.
871 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
873 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
875 2002-05-19 Martin Baulig <martin@gnome.org>
877 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
878 Added exception handling.
880 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
881 Added exception handling.
883 2002/04/02 Nick Drochak <ndrochak@gol.com>
885 * StringBuilder.cs (Append): Removed obsolete overload.
887 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
889 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
891 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
893 * StringBuilder.cs: no need to intern the string returned by ToString().
895 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
897 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
898 dependent on iconv icalls.
899 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
902 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
904 * StringBuilder.cs: make ToString() return a interned string, this
905 seems to be required to make switch on string work.
907 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
909 * StringBuilder.cs: make Append(char) do the smart thing.
911 2002-01-05 Ravi Pratap <ravi@ximian.com>
913 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
914 UnicodeEncoding.cs: MonoTODO attribute marking.
916 * StringBuilder.cs : Ditto.
918 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
920 * Encoding.cs: renamed some fields.
921 * StringBuilder.cs: CLSCompliant updates.
923 2001-10-29 Nick Drochak <ndrochak@gol.com>
925 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
926 invalid. Just like MS does (as best as I can tell).
928 Tests for these exceptions are now added to the unit tests as well.
930 2001-10-25 Nick Drochak <ndrochak@gol.com>
932 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
933 whose capacity is greater than the MaxCapacity.
935 I added some tests for the constructors and the above exception. More
938 2001-10-23 Nick Drochak <ndrochak@gol.com>
940 * StringBuilder.cs: Refactored constructor code into just one
941 constructor. All the other construtors call it. Also supplied missing
942 constructors so the class has all those in the spec.
944 Added the MaxCapacity property as well, however this needs to be
945 completed to return a value is related to the available system memory.
947 2001-10-07 Miguel de Icaza <miguel@ximian.com>
949 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
950 UnicodeEncoding.cs: Corrected API.
952 * UTF8Encoding.cs: Checked in changes from Rafael.
954 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
956 * UTF8Encoding.cs: impl. clumsy GetBytes
958 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
960 * StringBuilder.cs (Text): Fixed.
962 * StringBuilderTest.cs: Implement Test suite.
964 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
966 * StringBuilder.cs: Implemented.
968 The only methods left unimplemented are the AppendFormat( ... )
969 ones just because it's probably better to wait until some of the
970 Format related classes are implemented. I've put that as a TODO
971 comment at the top and created the methods with a "nop" body.
973 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
975 * UnicodeEncoding.cs: Members added so that a clean compile is
978 * ASCIIEncoding.cs: Members added so that a clean compile is
981 * UTF7Encoding.cs: Members added so that a clean compile is
984 * UTF8Encoding.cs: Members added so that a clean compile is
987 * Encoding.cs: All public members included. Most members