1 2008-04-09 Atsushi Enomoto <atsushi@ximian.com>
4 Fixed misplaced leftOverSize reset in InternalGetCharCount().
5 Fixed base64 value for '+' (the value is actually unused though).
7 2008-03-27 Kornél Pál <kornelpal@gmail.com>
9 * Encoding.cs: Fix possible integer overflow in argument validation.
11 2008-02-10 Sebastien Pouliot <sebastien@ximian.com>
13 * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
14 check. Found using Gendarme new UseIsOperator rule.
15 * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
16 check. Found using Gendarme new UseIsOperator rule.
18 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
20 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
21 the same "\uFFFD" fix for encoder fallback.
22 Reduced extra instantiation of those fallbacks.
24 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
26 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
28 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
30 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
33 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
35 * UnicodeEncoding.cs : fix build.
37 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
39 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
40 input buffer. When fallback is not assigned, just return '\0'.
41 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
42 Default replacement fallback buffer is now "\uFFFD".
43 * UTF8Encoding.cs : couple of replacement buffer size fixes.
44 Default replacement fallback buffer is now "\uFFFD".
45 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
46 See http://support.microsoft.com/kb/940521/ for this change.
48 2007-08-15 Jb Evain <jbveain@novell.com>
50 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
51 the compile picks up the adequate method when AppendFormat
52 is used in 2.1 platform code.
54 2007-07-28 Miguel de Icaza <miguel@novell.com>
56 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
58 2007-05-03 Dick Porter <dick@ximian.com>
62 * UTF7Encoding.cs: Update to 2.0 profile
64 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
66 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
67 In Encoding.Default, catch both ArgumentException and NotSupportException.
69 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
71 * Encoding.cs : the change broke the build, so reverted part of it.
73 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
75 * Encoding.cs: Also set ParamName of the ArgumentException.
77 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
79 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
80 and above 0xffff. Modified NotSupportedException to ArgumentException in
83 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
85 * EncoderFallbackBuffer.cs : implement Reset().
87 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
89 * Encoding.cs: Make the GetByteCcount method used fixed pointers
90 removes quite a few allocations from Banshee.
92 2006-09-03 Zoltan Varga <vargaz@gmail.com>
94 * StringBuilder.cs (.ctor): Add a comment.
96 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
99 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
101 * UTF32Encoding.cs, UTF7Encoding.cs :
102 Fixed GetHashCode() and Equals() as well.
103 Added several missing overrides in 2.0.
105 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
107 * Encoding.cs : implemented IsAlwaysNormalized().
108 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
111 2006-07-18 Kornél Pál <kornelpal@gmail.com>
113 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
114 than new string (sbyte*, int, int) that uses Encoding.Default.
115 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
116 than new string (sbyte*, int, int) that uses Encoding.Default.
118 2006-07-11 Kornél Pál <kornelpal@gmail.com>
120 * StringBuilder.cs: Pad the string with NULL characters when setting
121 Length. This is now documented:
122 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
124 2006-07-06 Kornél Pál <kornelpal@gmail.com>
126 * CodePageEncoding.cs: Corrected comments.
127 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
128 ArgumentExceptions in private constructors.
129 * SurrogateEncoder.cs: Corrected comments.
131 2006-07-05 Kornél Pál <kornelpal@gmail.com>
133 * CodePageEncoding.cs: Return the same real object in subsequent
134 calls to GetRealObject ().
135 * MLangCodePageEncoding.cs: Return the same real object in
136 subsequent calls to GetRealObject (). Rename Encoder and Decoder
137 MLangEncoder and MLangDecoder. These classes are not serializable
138 in 1.x although MS.NET 2.0 can deserialize them.
139 * SurrogateEncoder.cs: Return the same real object in subsequent
140 calls to GetRealObject ().
142 2006-07-04 Kornél Pál <kornelpal@gmail.com>
144 * CodePageEncoding.cs: Added comment on usage.
145 * MLangCodePageEncoding.cs: Added comment on usage.
146 * SurrogateEncoder.cs: Added comment on usage.
148 2006-07-03 Kornél Pál <kornelpal@gmail.com>
150 * CodePageEncoding.cs: Added.
151 * MLangCodePageEncoding.cs: Added.
152 * SurrogateEncoder.cs: Added.
154 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
156 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
158 2006-06-24 Kornél Pál <kornelpal@gmail.com>
160 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
161 StreamReader should detect byte order marks.
163 2006-06-21 Kornél Pál <kornelpal@gmail.com>
165 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
168 2006-06-06 Kornél Pál <kornelpal@gmail.com>
170 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
171 profile 1.x as well because performance improvement is worth the
172 signature difference. (Fix regression of r61250.)
174 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
176 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
177 Marked 2.0-only members as ComVisible (false).
178 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
179 2.0-only members as ComVisible (false).
180 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
181 2.0-only members as ComVisible (false).
182 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
183 2.0-only members as ComVisible (false).
184 * NormalizationForm.cs: Marked ComVisible (true).
185 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
186 Marked 2.0-only methods as ComVisible (false).
187 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
188 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
189 missing ctor in 2.0 profile, and marked in MonoTODO.
190 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
191 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
193 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
195 * EncodingInfo.cs, Encoding.cs :
196 Implemented Encoding.GetEncodings(). It's so hacky!
198 2006-04-13 Kornél Pál <kornelpal@gmail.com>
200 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
201 as MS.NET does. This is a more reasonable high level wrapper
203 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
204 instead of using GetBytesInternal to be MS.NET compatible.
205 Override GetString (byte [], int, int) to speed up string creation.
207 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
209 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
211 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
213 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
214 check in some methods.
216 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
218 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
219 there are optimizations, but for now we need something just works).
221 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
223 * UTF8Encoding.cs : made internal implementation as pointer-based,
224 and added pointer-based converter method overloads.
226 2006-03-21 Kornél Pál <kornelpal@gmail.com>
228 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
231 2006-03-09 Zoltan Varga <vargaz@gmail.com>
233 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
235 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
237 * UTF8Encoding.cs : Fallback was indicating incorrect index.
240 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
242 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
243 in IL. 10% performance improvement.
245 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
247 * UTF8Encoding.cs : avoid possible overflow.
249 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
251 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
252 be checked. Also it should not ignore leftOver characters even if
253 byte buffer length is 0.
255 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
257 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
258 and InternalGetBytes().
260 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
263 actually leftover bits needs more careful handleding. So it's
264 better to be rather close to the original GetBytes().
265 Also changed leftOver handling so that it will be able to support
268 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
271 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
272 pointers. However, InternalGetBytes() was slower than
273 GetBytes(string, ...), so first replaced existing InternalGetBytes()
274 with GetBytes() internals, and GetBytes(string, ...) switched to
275 InternalGetBytes(). Now GetBytes() implementation code is reduced
278 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
280 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
281 Now it handles the entire bytes, not just half of them.
283 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
285 * UTF8Encoding.cs : zero-length check was wrong. Check it by
286 "charIndex == chars.Length" instead of "charCount == 0".
288 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
290 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
291 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
293 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
295 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
296 this time InternalGetChars() as well.
298 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
300 * StringBuilder.cs: Avoid computing computation for the string
303 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
305 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
308 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
310 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
313 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
315 * UTF7Encoding.cs UTF8Encoding.cs :
316 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
317 Make strict check for invalid surrogate.
319 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
321 * EncoderFallbackException.cs EncoderExceptionFallback.cs
322 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
323 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
324 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
325 DecoderFallbackException.cs DecoderExceptionFallback.cs
326 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
327 EncoderReplacementFallbackBuffer.cs :
328 include them in net_2_0bootstrap build.
330 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
332 * Decoder.cs : ditto.
334 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
336 * Encoder.cs : Fallback should be initialized to have an instance.
338 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
340 * Encoding.cs : Cloned instances should not be read-only.
342 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
344 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
346 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
348 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
349 byte*-based GetBytes().
350 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
351 which came to happen after introducing fallback buffer.
353 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
355 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
358 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
360 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
361 Added FallbackBuffer.
362 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
364 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
366 * EncodingInfo.cs : new file.
368 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
370 * UTF32Encoding.cs : Sealed. Added the overload which has
371 throwOnInvalid parameter.
372 * NormalizationForm.cs : removed [Serializable].
374 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
376 * Encoding.cs : added UTF32.
378 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
380 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
383 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
385 * UTF32Encoding.cs : new file.
387 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
389 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
390 * Encoding.cs : changed default fallback selection. Seems like only
391 ASCII and GB18030 uses '?' for replacement.
392 * UTF8Encoding.cs : now that Fallback is read only by default, we
395 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
397 * UTF8Encoding.cs : safer UTF8Decoder ctor.
399 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
401 * Decoder.cs : added FallbackBuffer property.
402 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
405 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
407 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
409 * EncoderReplacementFallbackBuffer.cs : implemented.
410 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
413 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
415 * DecoderFallbackBuffer.cs : Reset() does nothing here.
416 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
417 bytesUnknown is used.
419 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
421 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
423 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
425 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
426 * Encoder.cs : Added Fallback property.
427 * Decoder.cs : Added Fallback property.
429 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
431 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
432 EncoderExceptionFallbackBuffer.cs,
433 EncoderReplacementFallbackBuffer.cs,
434 EncoderFallbackException.cs,
435 EncoderExceptionFallback.cs,
436 EncoderReplacementFallback.cs : new files (not actually used yet).
437 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
438 DecoderReplacementFallback.cs : [Serializable] and sealed.
439 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
441 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
443 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
444 DecoderExceptionFallbackBuffer.cs,
445 DecoderReplacementFallbackBuffer.cs,
446 DecoderFallbackException.cs,
447 DecoderExceptionFallback.cs,
448 DecoderReplacementFallback.cs : new files (not actually used yet).
450 2005-11-14 Miguel de Icaza <miguel@novell.com>
452 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
455 Also add some checks that were missing.
457 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
459 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
460 were failing under 2.0) and two possible integer overflow in CopyTo.
462 2005-11-11 Miguel de Icaza <miguel@novell.com>
464 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
466 * StringBuilder.cs (Text): Added serialization support in 2.x.
468 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
470 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
471 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
472 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
473 ((ch & 0xFE) == 0xFC).
475 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
477 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
478 Don't exclude FEFF in the resulting text.
480 2005-06-21 Ben Maurer <bmaurer@ximian.com>
482 * StringBuilder.cs (Replace): Do the correct thing when we replace
483 with a longer string. Thanks to Alexander Beznozdrev
484 <abeznozdrev@croc.ru>
486 2005-05-26 Ben Maurer <bmaurer@ximian.com>
488 * Encoding.cs: Use static object for locking. `volatile' to
489 prevent double checked locking error.
491 * StringBuilder.cs: Remove = null inits on fields, saves a few
492 instructions. When we compare _cached_str == _str, we are only
493 interested in pointer based equality, so just do that.
495 2005-05-06 Ben Maurer <bmaurer@ximian.com>
497 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
498 the size we attempt to grow to is more than the max capacity, but
499 that a smaller size will do. In this case, don't throw an
500 exception. Fixes #72244
502 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
504 * NormalizationForm.cs : new file.
506 2005-03-20 Ben Maurer <bmaurer@ximian.com>
508 * StringBuilder.cs (set_Length): If we set the length, we must
509 clobber the cached string.
511 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
513 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
516 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
518 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
519 whose length is greater than 3. Patch by Svetlana Zholkovsky.
521 2005-01-31 Ben Maurer <bmaurer@ximian.com>
523 * StringBuilder.cs (Remove): We need to do the check that the
524 string isnt being cached *before* we munge it.
526 2005-01-21 Ben Maurer <bmaurer@ximian.com>
528 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
529 lazily. This saves us lots of memory if you only use the
530 stringbuilder once. Also, we can allocate on the second Append,
531 which might reduce the number of buffers allocated.
533 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
535 * StringBuilder.cs: Improved parameter check.
537 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539 * StringBuilder.cs: when creating the StringBuilder from a string, the
540 maximum capacity remains Int32.MaxValue.
542 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
544 * StringBuilder.cs: throw if the new size is greater than the maximum
545 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
548 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
550 * UTF7Encoding.cs: Fixed warning for unused variable.
552 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
554 * Encoding.cs: Add encoding name "latin1" for compatibility with
557 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
559 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
561 2004-09-09 Tim Coleman <tim@timcoleman.com>
563 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
565 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
567 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
568 Follow the RFC1642 rules for "overbits".
570 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
572 * ASCIIEncoding.cs: added TODO for serialization
573 * StringBuilder.cs: added TODO for serialization
574 * UnicodeEncoding.cs: added TODO for serialization
575 * UTF7Encoding.cs: added TODO for serialization
576 * UTF8Encoding.cs: added TODO for serialization
578 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
580 * Encoding.cs: Marked protected internal field as internal to
583 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
585 * UTF8Encoding.cs : Length check must be done only when the character
586 sequence is valid (i.e. should not check when it is overlongs).
587 See also TestThrowOnInvalid().
589 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
591 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
593 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
595 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
596 true. Otherwise just ignore them.
598 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
600 * StringBuilder.cs: Fixed potential integer overflows in several
603 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
605 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
606 pair. This fix bug #57009 (and 2 failing unit tests). Added code
607 to check for some (like MS) overlongs.
609 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
611 * Encoding.cs: Use name const to load I18N assembly.
613 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
615 * Encoding.cs: Call shortcut String.ToLowerInvariant
617 2004-04-13 Miguel de Icaza <miguel@ximian.com>
619 * Encoding.cs: Use new internal codepage setup.
621 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
623 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
625 2004-03-19 Dick Porter <dick@ximian.com>
627 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
628 BOM at the beginning of the range of characters we're interested
629 in, not at the beginning of the array. Fixes bug 51531.
631 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
634 (Insert int, char[]): fix by using new string(char[]) instead of
635 char[].ToString() and simplify.
636 (Insert int, string, int): add LAMESPEC note.
637 (Insert int char[], int, int): handle value==null according to spec.
638 Use a string instead of char array + Array.Copy (gonzalo)
640 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643 (Append (string)): remove redundant check.
645 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
648 (Remove): fixed offsets when copying and set the new size. Fixes bug
651 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
653 * StringBuilder.cs: added checks for null in a few Append methods.
655 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
657 * StringBuilder.cs: fixed start offset in Append(char).
659 2004-01-12 Patrik Torstensson
661 * StringBuilder.cs: new implementation that uses
662 string as a buffer instead of a array of chars.
664 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
666 * UTF8Encoding.cs (GetBytes string): Do not call base
667 The version in Encoding will call string.ToCharArray (),
668 allocating an extra array. By calling the better method
669 in our own class we can save memory.
671 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
673 * StringBuilder.cs (Insert int, char): It is really silly and
674 wasteful to allocate an array here. We can just copy the value
677 2003-11-11 Miguel de Icaza <miguel@ximian.com>
679 * Encoding.cs: Use an internal variable to track the parameters of
680 each encoder, since the .NET API does not expose virtual methods
681 in the child classes, we should not depend on that.
683 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
684 Initialize the parameters for base class encoding here.
686 2003-09-01 Miguel de Icaza <miguel@ximian.com>
688 * Encoding.cs (UTF8Unmarked): make it also not error out on
689 invalid input, that is what the Microsoft default is for the
690 StreamReader and BinaryReader expect (our main consumers).
692 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
695 (AppendFormat) Use FormatHelper in System.String to avoid
696 allocating an extra StringBuilder.
697 (Append string, int, int), (Append char, int): Both were
698 allocating extra strings.
700 2003-06-05 Nick Drochak <ndrochak@gol.com>
702 * UTF8Encoding.cs: Cleanups according to class status page
704 2003-05-10 Miguel de Icaza <miguel@ximian.com>
706 * Encoding.cs (GetEncoding): Add all the aliases documented in the
707 framework. We were missing a few.
709 Reorganize the table. Also, convert the input name into the
710 lower-case - to _ before we compare against our table.
712 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714 * StringBuilder.cs: fixed bug #41397.
716 2003-04-12 Miguel de Icaza <miguel@ximian.com>
718 * Encoding.cs: Enabled the code paths that we did have commented
719 out, they seem to work now.
721 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
723 * StringBuilder.cs: cache the result from ToString().
725 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
727 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
728 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
730 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
732 * ASCIIEncoding.cs: fixed bug #38984.
734 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
737 * Latin1Encoding.cs: fix GetString (byte[]) and
738 GetString (byte[], int, int) for zero-length case.
740 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
742 * Latin1Encoding.cs: added Serializable attribute.
744 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
746 * Encoding.cs: removed UnixConsoleEncoding.
748 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
750 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
751 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
752 This fixes the StringBuilder unit tests.
754 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
756 * StringBuilder.cs: fixed typo in set_Length.
758 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
760 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
761 encoding is not found, default to UTF8Unmarked. Removed comment in
762 UnixConsoleEncoding, because it's now Default, which gets the
763 encoding internally using g_get_encoding ().
765 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
767 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
769 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
771 * UTF8Encoding.cs: fix GetByteCount (), too.
773 2002-11-19 Miguel de Icaza <miguel@ximian.com>
775 * UnicodeEncoding.cs: the bytemark should only be used to return
776 information in GetPreamble, not to actually encode the information
777 on the stream. That is taken care of by the Stream classes.
779 * UTF8Encoding.cs: ditto.
781 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
783 * StringBuilder.cs: only move the remaining chars in Remove.
785 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
787 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
788 locking whenever possible.
790 2002-10-30 Miguel de Icaza <miguel@ximian.com>
792 * Encoding.cs (UTF8Unmarked): New static property, used to return
793 a no-markers UTf8 encoder, used in a few places in the class library.
795 2002-09-06 Miguel de Icaza <miguel@ximian.com>
797 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
798 what the Microsoft version does.
800 (UnixConsoleEncoding): New internal method, used to get the
801 encoding, in the future, this should pull the locale, map to
802 charset and then code page.
804 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
806 * Encoding.cs: use icall to get default codepage.
807 * DefaultEncoding.cs: remove useless class.
809 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
811 * *.cs: change to conform to mono coding style.
813 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
821 * UnicodeEncoding.cs: added Serializable attribute.
823 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
825 * StringBuilder.cs: improved performace by using String.InternalCopyTo
826 instead of using ToCharArray all over the place (more that 50% of
827 speed improvement when using Append).
829 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
831 * *.cs: imported the code donated by Rhys Weatherley
832 <rweather@southern-storm.com.au>.
834 2002-08-18 Dick Porter <dick@ximian.com>
836 * Encoding.cs: Make GetString() return a useful representation of
837 the bytes, rather than "System.Char[]"
839 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
841 * StringBuilder.cs: added IndexerName to indexer.
843 2002-08-01 Jason Diamond <jason@injektilo.org>
845 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
846 converting chars to bytes.
848 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
850 * StringBuilder.cs: updated comments. MaxCapacity always returns
853 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
855 * StringBuilder.cs: implemented AppendFormat methods using
856 String.Format. Thanks Paolo!
858 This makes xsp generate correct C# output in linux :-). I still need
859 to do more testing, though.
861 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
863 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
865 2002-05-19 Martin Baulig <martin@gnome.org>
867 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
868 Added exception handling.
870 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
871 Added exception handling.
873 2002/04/02 Nick Drochak <ndrochak@gol.com>
875 * StringBuilder.cs (Append): Removed obsolete overload.
877 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
879 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
881 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
883 * StringBuilder.cs: no need to intern the string returned by ToString().
885 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
887 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
888 dependent on iconv icalls.
889 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
892 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
894 * StringBuilder.cs: make ToString() return a interned string, this
895 seems to be required to make switch on string work.
897 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
899 * StringBuilder.cs: make Append(char) do the smart thing.
901 2002-01-05 Ravi Pratap <ravi@ximian.com>
903 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
904 UnicodeEncoding.cs: MonoTODO attribute marking.
906 * StringBuilder.cs : Ditto.
908 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
910 * Encoding.cs: renamed some fields.
911 * StringBuilder.cs: CLSCompliant updates.
913 2001-10-29 Nick Drochak <ndrochak@gol.com>
915 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
916 invalid. Just like MS does (as best as I can tell).
918 Tests for these exceptions are now added to the unit tests as well.
920 2001-10-25 Nick Drochak <ndrochak@gol.com>
922 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
923 whose capacity is greater than the MaxCapacity.
925 I added some tests for the constructors and the above exception. More
928 2001-10-23 Nick Drochak <ndrochak@gol.com>
930 * StringBuilder.cs: Refactored constructor code into just one
931 constructor. All the other construtors call it. Also supplied missing
932 constructors so the class has all those in the spec.
934 Added the MaxCapacity property as well, however this needs to be
935 completed to return a value is related to the available system memory.
937 2001-10-07 Miguel de Icaza <miguel@ximian.com>
939 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
940 UnicodeEncoding.cs: Corrected API.
942 * UTF8Encoding.cs: Checked in changes from Rafael.
944 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
946 * UTF8Encoding.cs: impl. clumsy GetBytes
948 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
950 * StringBuilder.cs (Text): Fixed.
952 * StringBuilderTest.cs: Implement Test suite.
954 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
956 * StringBuilder.cs: Implemented.
958 The only methods left unimplemented are the AppendFormat( ... )
959 ones just because it's probably better to wait until some of the
960 Format related classes are implemented. I've put that as a TODO
961 comment at the top and created the methods with a "nop" body.
963 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
965 * UnicodeEncoding.cs: Members added so that a clean compile is
968 * ASCIIEncoding.cs: Members added so that a clean compile is
971 * UTF7Encoding.cs: Members added so that a clean compile is
974 * UTF8Encoding.cs: Members added so that a clean compile is
977 * Encoding.cs: All public members included. Most members