1 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
3 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
4 check. Found using Gendarme new UseIsOperator rule.
5 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
6 check. Found using Gendarme new UseIsOperator rule.
8 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
10 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
11 the same "\uFFFD" fix for encoder fallback.
12 Reduced extra instantiation of those fallbacks.
14 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
16 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
18 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
20 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
23 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
25 * UnicodeEncoding.cs : fix build.
27 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
29 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
30 input buffer. When fallback is not assigned, just return '\0'.
31 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
32 Default replacement fallback buffer is now "\uFFFD".
33 * UTF8Encoding.cs : couple of replacement buffer size fixes.
34 Default replacement fallback buffer is now "\uFFFD".
35 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
36 See http://support.microsoft.com/kb/940521/ for this change.
38 2007-08-15 Jb Evain <jbveain@novell.com>
40 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
41 the compile picks up the adequate method when AppendFormat
42 is used in 2.1 platform code.
44 2007-07-28 Miguel de Icaza <miguel@novell.com>
46 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
48 2007-05-03 Dick Porter <dick@ximian.com>
52 * UTF7Encoding.cs: Update to 2.0 profile
54 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
56 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
57 In Encoding.Default, catch both ArgumentException and NotSupportException.
59 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
61 * Encoding.cs : the change broke the build, so reverted part of it.
63 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
65 * Encoding.cs: Also set ParamName of the ArgumentException.
67 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
69 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
70 and above 0xffff. Modified NotSupportedException to ArgumentException in
73 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
75 * EncoderFallbackBuffer.cs : implement Reset().
77 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
79 * Encoding.cs: Make the GetByteCcount method used fixed pointers
80 removes quite a few allocations from Banshee.
82 2006-09-03 Zoltan Varga <vargaz@gmail.com>
84 * StringBuilder.cs (.ctor): Add a comment.
86 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
89 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
91 * UTF32Encoding.cs, UTF7Encoding.cs :
92 Fixed GetHashCode() and Equals() as well.
93 Added several missing overrides in 2.0.
95 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
97 * Encoding.cs : implemented IsAlwaysNormalized().
98 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
101 2006-07-18 Kornél Pál <kornelpal@gmail.com>
103 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
104 than new string (sbyte*, int, int) that uses Encoding.Default.
105 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
106 than new string (sbyte*, int, int) that uses Encoding.Default.
108 2006-07-11 Kornél Pál <kornelpal@gmail.com>
110 * StringBuilder.cs: Pad the string with NULL characters when setting
111 Length. This is now documented:
112 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
114 2006-07-06 Kornél Pál <kornelpal@gmail.com>
116 * CodePageEncoding.cs: Corrected comments.
117 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
118 ArgumentExceptions in private constructors.
119 * SurrogateEncoder.cs: Corrected comments.
121 2006-07-05 Kornél Pál <kornelpal@gmail.com>
123 * CodePageEncoding.cs: Return the same real object in subsequent
124 calls to GetRealObject ().
125 * MLangCodePageEncoding.cs: Return the same real object in
126 subsequent calls to GetRealObject (). Rename Encoder and Decoder
127 MLangEncoder and MLangDecoder. These classes are not serializable
128 in 1.x although MS.NET 2.0 can deserialize them.
129 * SurrogateEncoder.cs: Return the same real object in subsequent
130 calls to GetRealObject ().
132 2006-07-04 Kornél Pál <kornelpal@gmail.com>
134 * CodePageEncoding.cs: Added comment on usage.
135 * MLangCodePageEncoding.cs: Added comment on usage.
136 * SurrogateEncoder.cs: Added comment on usage.
138 2006-07-03 Kornél Pál <kornelpal@gmail.com>
140 * CodePageEncoding.cs: Added.
141 * MLangCodePageEncoding.cs: Added.
142 * SurrogateEncoder.cs: Added.
144 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
146 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
148 2006-06-24 Kornél Pál <kornelpal@gmail.com>
150 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
151 StreamReader should detect byte order marks.
153 2006-06-21 Kornél Pál <kornelpal@gmail.com>
155 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
158 2006-06-06 Kornél Pál <kornelpal@gmail.com>
160 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
161 profile 1.x as well because performance improvement is worth the
162 signature difference. (Fix regression of r61250.)
164 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
166 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
167 Marked 2.0-only members as ComVisible (false).
168 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
169 2.0-only members as ComVisible (false).
170 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
171 2.0-only members as ComVisible (false).
172 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
173 2.0-only members as ComVisible (false).
174 * NormalizationForm.cs: Marked ComVisible (true).
175 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
176 Marked 2.0-only methods as ComVisible (false).
177 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
178 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
179 missing ctor in 2.0 profile, and marked in MonoTODO.
180 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
181 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
183 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
185 * EncodingInfo.cs, Encoding.cs :
186 Implemented Encoding.GetEncodings(). It's so hacky!
188 2006-04-13 Kornél Pál <kornelpal@gmail.com>
190 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
191 as MS.NET does. This is a more reasonable high level wrapper
193 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
194 instead of using GetBytesInternal to be MS.NET compatible.
195 Override GetString (byte [], int, int) to speed up string creation.
197 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
199 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
201 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
203 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
204 check in some methods.
206 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
208 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
209 there are optimizations, but for now we need something just works).
211 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
213 * UTF8Encoding.cs : made internal implementation as pointer-based,
214 and added pointer-based converter method overloads.
216 2006-03-21 Kornél Pál <kornelpal@gmail.com>
218 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
221 2006-03-09 Zoltan Varga <vargaz@gmail.com>
223 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
225 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
227 * UTF8Encoding.cs : Fallback was indicating incorrect index.
230 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
232 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
233 in IL. 10% performance improvement.
235 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
237 * UTF8Encoding.cs : avoid possible overflow.
239 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
241 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
242 be checked. Also it should not ignore leftOver characters even if
243 byte buffer length is 0.
245 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
247 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
248 and InternalGetBytes().
250 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
253 actually leftover bits needs more careful handleding. So it's
254 better to be rather close to the original GetBytes().
255 Also changed leftOver handling so that it will be able to support
258 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
261 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
262 pointers. However, InternalGetBytes() was slower than
263 GetBytes(string, ...), so first replaced existing InternalGetBytes()
264 with GetBytes() internals, and GetBytes(string, ...) switched to
265 InternalGetBytes(). Now GetBytes() implementation code is reduced
268 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
270 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
271 Now it handles the entire bytes, not just half of them.
273 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
275 * UTF8Encoding.cs : zero-length check was wrong. Check it by
276 "charIndex == chars.Length" instead of "charCount == 0".
278 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
280 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
281 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
283 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
285 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
286 this time InternalGetChars() as well.
288 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
290 * StringBuilder.cs: Avoid computing computation for the string
293 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
295 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
298 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
300 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
303 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
305 * UTF7Encoding.cs UTF8Encoding.cs :
306 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
307 Make strict check for invalid surrogate.
309 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
311 * EncoderFallbackException.cs EncoderExceptionFallback.cs
312 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
313 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
314 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
315 DecoderFallbackException.cs DecoderExceptionFallback.cs
316 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
317 EncoderReplacementFallbackBuffer.cs :
318 include them in net_2_0bootstrap build.
320 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
322 * Decoder.cs : ditto.
324 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
326 * Encoder.cs : Fallback should be initialized to have an instance.
328 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
330 * Encoding.cs : Cloned instances should not be read-only.
332 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
334 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
336 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
338 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
339 byte*-based GetBytes().
340 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
341 which came to happen after introducing fallback buffer.
343 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
345 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
348 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
350 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
351 Added FallbackBuffer.
352 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
354 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
356 * EncodingInfo.cs : new file.
358 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
360 * UTF32Encoding.cs : Sealed. Added the overload which has
361 throwOnInvalid parameter.
362 * NormalizationForm.cs : removed [Serializable].
364 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
366 * Encoding.cs : added UTF32.
368 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
370 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
373 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
375 * UTF32Encoding.cs : new file.
377 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
379 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
380 * Encoding.cs : changed default fallback selection. Seems like only
381 ASCII and GB18030 uses '?' for replacement.
382 * UTF8Encoding.cs : now that Fallback is read only by default, we
385 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
387 * UTF8Encoding.cs : safer UTF8Decoder ctor.
389 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
391 * Decoder.cs : added FallbackBuffer property.
392 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
395 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
397 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
399 * EncoderReplacementFallbackBuffer.cs : implemented.
400 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
403 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
405 * DecoderFallbackBuffer.cs : Reset() does nothing here.
406 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
407 bytesUnknown is used.
409 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
411 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
413 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
415 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
416 * Encoder.cs : Added Fallback property.
417 * Decoder.cs : Added Fallback property.
419 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
421 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
422 EncoderExceptionFallbackBuffer.cs,
423 EncoderReplacementFallbackBuffer.cs,
424 EncoderFallbackException.cs,
425 EncoderExceptionFallback.cs,
426 EncoderReplacementFallback.cs : new files (not actually used yet).
427 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
428 DecoderReplacementFallback.cs : [Serializable] and sealed.
429 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
431 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
433 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
434 DecoderExceptionFallbackBuffer.cs,
435 DecoderReplacementFallbackBuffer.cs,
436 DecoderFallbackException.cs,
437 DecoderExceptionFallback.cs,
438 DecoderReplacementFallback.cs : new files (not actually used yet).
440 2005-11-14 Miguel de Icaza <miguel@novell.com>
442 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
445 Also add some checks that were missing.
447 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
449 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
450 were failing under 2.0) and two possible integer overflow in CopyTo.
452 2005-11-11 Miguel de Icaza <miguel@novell.com>
454 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
456 * StringBuilder.cs (Text): Added serialization support in 2.x.
458 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
460 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
461 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
462 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
463 ((ch & 0xFE) == 0xFC).
465 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
467 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
468 Don't exclude FEFF in the resulting text.
470 2005-06-21 Ben Maurer <bmaurer@ximian.com>
472 * StringBuilder.cs (Replace): Do the correct thing when we replace
473 with a longer string. Thanks to Alexander Beznozdrev
474 <abeznozdrev@croc.ru>
476 2005-05-26 Ben Maurer <bmaurer@ximian.com>
478 * Encoding.cs: Use static object for locking. `volatile' to
479 prevent double checked locking error.
481 * StringBuilder.cs: Remove = null inits on fields, saves a few
482 instructions. When we compare _cached_str == _str, we are only
483 interested in pointer based equality, so just do that.
485 2005-05-06 Ben Maurer <bmaurer@ximian.com>
487 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
488 the size we attempt to grow to is more than the max capacity, but
489 that a smaller size will do. In this case, don't throw an
490 exception. Fixes #72244
492 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
494 * NormalizationForm.cs : new file.
496 2005-03-20 Ben Maurer <bmaurer@ximian.com>
498 * StringBuilder.cs (set_Length): If we set the length, we must
499 clobber the cached string.
501 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
503 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
506 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
508 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
509 whose length is greater than 3. Patch by Svetlana Zholkovsky.
511 2005-01-31 Ben Maurer <bmaurer@ximian.com>
513 * StringBuilder.cs (Remove): We need to do the check that the
514 string isnt being cached *before* we munge it.
516 2005-01-21 Ben Maurer <bmaurer@ximian.com>
518 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
519 lazily. This saves us lots of memory if you only use the
520 stringbuilder once. Also, we can allocate on the second Append,
521 which might reduce the number of buffers allocated.
523 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
525 * StringBuilder.cs: Improved parameter check.
527 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
529 * StringBuilder.cs: when creating the StringBuilder from a string, the
530 maximum capacity remains Int32.MaxValue.
532 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
534 * StringBuilder.cs: throw if the new size is greater than the maximum
535 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
538 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
540 * UTF7Encoding.cs: Fixed warning for unused variable.
542 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
544 * Encoding.cs: Add encoding name "latin1" for compatibility with
547 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
549 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
551 2004-09-09 Tim Coleman <tim@timcoleman.com>
553 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
555 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
557 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
558 Follow the RFC1642 rules for "overbits".
560 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
562 * ASCIIEncoding.cs: added TODO for serialization
563 * StringBuilder.cs: added TODO for serialization
564 * UnicodeEncoding.cs: added TODO for serialization
565 * UTF7Encoding.cs: added TODO for serialization
566 * UTF8Encoding.cs: added TODO for serialization
568 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
570 * Encoding.cs: Marked protected internal field as internal to
573 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
575 * UTF8Encoding.cs : Length check must be done only when the character
576 sequence is valid (i.e. should not check when it is overlongs).
577 See also TestThrowOnInvalid().
579 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
581 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
583 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
585 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
586 true. Otherwise just ignore them.
588 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
590 * StringBuilder.cs: Fixed potential integer overflows in several
593 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
595 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
596 pair. This fix bug #57009 (and 2 failing unit tests). Added code
597 to check for some (like MS) overlongs.
599 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
601 * Encoding.cs: Use name const to load I18N assembly.
603 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
605 * Encoding.cs: Call shortcut String.ToLowerInvariant
607 2004-04-13 Miguel de Icaza <miguel@ximian.com>
609 * Encoding.cs: Use new internal codepage setup.
611 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
613 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
615 2004-03-19 Dick Porter <dick@ximian.com>
617 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
618 BOM at the beginning of the range of characters we're interested
619 in, not at the beginning of the array. Fixes bug 51531.
621 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
624 (Insert int, char[]): fix by using new string(char[]) instead of
625 char[].ToString() and simplify.
626 (Insert int, string, int): add LAMESPEC note.
627 (Insert int char[], int, int): handle value==null according to spec.
628 Use a string instead of char array + Array.Copy (gonzalo)
630 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
633 (Append (string)): remove redundant check.
635 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
638 (Remove): fixed offsets when copying and set the new size. Fixes bug
641 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643 * StringBuilder.cs: added checks for null in a few Append methods.
645 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
647 * StringBuilder.cs: fixed start offset in Append(char).
649 2004-01-12 Patrik Torstensson
651 * StringBuilder.cs: new implementation that uses
652 string as a buffer instead of a array of chars.
654 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
656 * UTF8Encoding.cs (GetBytes string): Do not call base
657 The version in Encoding will call string.ToCharArray (),
658 allocating an extra array. By calling the better method
659 in our own class we can save memory.
661 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
663 * StringBuilder.cs (Insert int, char): It is really silly and
664 wasteful to allocate an array here. We can just copy the value
667 2003-11-11 Miguel de Icaza <miguel@ximian.com>
669 * Encoding.cs: Use an internal variable to track the parameters of
670 each encoder, since the .NET API does not expose virtual methods
671 in the child classes, we should not depend on that.
673 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
674 Initialize the parameters for base class encoding here.
676 2003-09-01 Miguel de Icaza <miguel@ximian.com>
678 * Encoding.cs (UTF8Unmarked): make it also not error out on
679 invalid input, that is what the Microsoft default is for the
680 StreamReader and BinaryReader expect (our main consumers).
682 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
685 (AppendFormat) Use FormatHelper in System.String to avoid
686 allocating an extra StringBuilder.
687 (Append string, int, int), (Append char, int): Both were
688 allocating extra strings.
690 2003-06-05 Nick Drochak <ndrochak@gol.com>
692 * UTF8Encoding.cs: Cleanups according to class status page
694 2003-05-10 Miguel de Icaza <miguel@ximian.com>
696 * Encoding.cs (GetEncoding): Add all the aliases documented in the
697 framework. We were missing a few.
699 Reorganize the table. Also, convert the input name into the
700 lower-case - to _ before we compare against our table.
702 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
704 * StringBuilder.cs: fixed bug #41397.
706 2003-04-12 Miguel de Icaza <miguel@ximian.com>
708 * Encoding.cs: Enabled the code paths that we did have commented
709 out, they seem to work now.
711 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
713 * StringBuilder.cs: cache the result from ToString().
715 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
717 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
718 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
720 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
722 * ASCIIEncoding.cs: fixed bug #38984.
724 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
727 * Latin1Encoding.cs: fix GetString (byte[]) and
728 GetString (byte[], int, int) for zero-length case.
730 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
732 * Latin1Encoding.cs: added Serializable attribute.
734 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
736 * Encoding.cs: removed UnixConsoleEncoding.
738 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
740 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
741 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
742 This fixes the StringBuilder unit tests.
744 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
746 * StringBuilder.cs: fixed typo in set_Length.
748 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
750 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
751 encoding is not found, default to UTF8Unmarked. Removed comment in
752 UnixConsoleEncoding, because it's now Default, which gets the
753 encoding internally using g_get_encoding ().
755 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
757 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
759 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
761 * UTF8Encoding.cs: fix GetByteCount (), too.
763 2002-11-19 Miguel de Icaza <miguel@ximian.com>
765 * UnicodeEncoding.cs: the bytemark should only be used to return
766 information in GetPreamble, not to actually encode the information
767 on the stream. That is taken care of by the Stream classes.
769 * UTF8Encoding.cs: ditto.
771 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
773 * StringBuilder.cs: only move the remaining chars in Remove.
775 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
777 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
778 locking whenever possible.
780 2002-10-30 Miguel de Icaza <miguel@ximian.com>
782 * Encoding.cs (UTF8Unmarked): New static property, used to return
783 a no-markers UTf8 encoder, used in a few places in the class library.
785 2002-09-06 Miguel de Icaza <miguel@ximian.com>
787 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
788 what the Microsoft version does.
790 (UnixConsoleEncoding): New internal method, used to get the
791 encoding, in the future, this should pull the locale, map to
792 charset and then code page.
794 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
796 * Encoding.cs: use icall to get default codepage.
797 * DefaultEncoding.cs: remove useless class.
799 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
801 * *.cs: change to conform to mono coding style.
803 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
811 * UnicodeEncoding.cs: added Serializable attribute.
813 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
815 * StringBuilder.cs: improved performace by using String.InternalCopyTo
816 instead of using ToCharArray all over the place (more that 50% of
817 speed improvement when using Append).
819 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
821 * *.cs: imported the code donated by Rhys Weatherley
822 <rweather@southern-storm.com.au>.
824 2002-08-18 Dick Porter <dick@ximian.com>
826 * Encoding.cs: Make GetString() return a useful representation of
827 the bytes, rather than "System.Char[]"
829 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
831 * StringBuilder.cs: added IndexerName to indexer.
833 2002-08-01 Jason Diamond <jason@injektilo.org>
835 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
836 converting chars to bytes.
838 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
840 * StringBuilder.cs: updated comments. MaxCapacity always returns
843 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
845 * StringBuilder.cs: implemented AppendFormat methods using
846 String.Format. Thanks Paolo!
848 This makes xsp generate correct C# output in linux :-). I still need
849 to do more testing, though.
851 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
853 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
855 2002-05-19 Martin Baulig <martin@gnome.org>
857 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
858 Added exception handling.
860 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
861 Added exception handling.
863 2002/04/02 Nick Drochak <ndrochak@gol.com>
865 * StringBuilder.cs (Append): Removed obsolete overload.
867 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
869 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
871 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
873 * StringBuilder.cs: no need to intern the string returned by ToString().
875 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
877 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
878 dependent on iconv icalls.
879 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
882 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
884 * StringBuilder.cs: make ToString() return a interned string, this
885 seems to be required to make switch on string work.
887 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
889 * StringBuilder.cs: make Append(char) do the smart thing.
891 2002-01-05 Ravi Pratap <ravi@ximian.com>
893 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
894 UnicodeEncoding.cs: MonoTODO attribute marking.
896 * StringBuilder.cs : Ditto.
898 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
900 * Encoding.cs: renamed some fields.
901 * StringBuilder.cs: CLSCompliant updates.
903 2001-10-29 Nick Drochak <ndrochak@gol.com>
905 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
906 invalid. Just like MS does (as best as I can tell).
908 Tests for these exceptions are now added to the unit tests as well.
910 2001-10-25 Nick Drochak <ndrochak@gol.com>
912 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
913 whose capacity is greater than the MaxCapacity.
915 I added some tests for the constructors and the above exception. More
918 2001-10-23 Nick Drochak <ndrochak@gol.com>
920 * StringBuilder.cs: Refactored constructor code into just one
921 constructor. All the other construtors call it. Also supplied missing
922 constructors so the class has all those in the spec.
924 Added the MaxCapacity property as well, however this needs to be
925 completed to return a value is related to the available system memory.
927 2001-10-07 Miguel de Icaza <miguel@ximian.com>
929 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
930 UnicodeEncoding.cs: Corrected API.
932 * UTF8Encoding.cs: Checked in changes from Rafael.
934 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
936 * UTF8Encoding.cs: impl. clumsy GetBytes
938 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
940 * StringBuilder.cs (Text): Fixed.
942 * StringBuilderTest.cs: Implement Test suite.
944 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
946 * StringBuilder.cs: Implemented.
948 The only methods left unimplemented are the AppendFormat( ... )
949 ones just because it's probably better to wait until some of the
950 Format related classes are implemented. I've put that as a TODO
951 comment at the top and created the methods with a "nop" body.
953 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
955 * UnicodeEncoding.cs: Members added so that a clean compile is
958 * ASCIIEncoding.cs: Members added so that a clean compile is
961 * UTF7Encoding.cs: Members added so that a clean compile is
964 * UTF8Encoding.cs: Members added so that a clean compile is
967 * Encoding.cs: All public members included. Most members