1 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
3 * UnicodeEncoding.cs : fix build.
5 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
7 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
8 input buffer. When fallback is not assigned, just return '\0'.
9 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
10 Default replacement fallback buffer is now "\uFFFD".
11 * UTF8Encoding.cs : couple of replacement buffer size fixes.
12 Default replacement fallback buffer is now "\uFFFD".
13 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
14 See http://support.microsoft.com/kb/940521/ for this change.
16 2007-08-15 Jb Evain <jbveain@novell.com>
18 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
19 the compile picks up the adequate method when AppendFormat
20 is used in 2.1 platform code.
22 2007-07-28 Miguel de Icaza <miguel@novell.com>
24 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
26 2007-05-03 Dick Porter <dick@ximian.com>
30 * UTF7Encoding.cs: Update to 2.0 profile
32 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
34 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
35 In Encoding.Default, catch both ArgumentException and NotSupportException.
37 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
39 * Encoding.cs : the change broke the build, so reverted part of it.
41 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
43 * Encoding.cs: Also set ParamName of the ArgumentException.
45 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
47 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
48 and above 0xffff. Modified NotSupportedException to ArgumentException in
51 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
53 * EncoderFallbackBuffer.cs : implement Reset().
55 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
57 * Encoding.cs: Make the GetByteCcount method used fixed pointers
58 removes quite a few allocations from Banshee.
60 2006-09-03 Zoltan Varga <vargaz@gmail.com>
62 * StringBuilder.cs (.ctor): Add a comment.
64 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
67 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
69 * UTF32Encoding.cs, UTF7Encoding.cs :
70 Fixed GetHashCode() and Equals() as well.
71 Added several missing overrides in 2.0.
73 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
75 * Encoding.cs : implemented IsAlwaysNormalized().
76 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
79 2006-07-18 Kornél Pál <kornelpal@gmail.com>
81 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
82 than new string (sbyte*, int, int) that uses Encoding.Default.
83 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
84 than new string (sbyte*, int, int) that uses Encoding.Default.
86 2006-07-11 Kornél Pál <kornelpal@gmail.com>
88 * StringBuilder.cs: Pad the string with NULL characters when setting
89 Length. This is now documented:
90 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
92 2006-07-06 Kornél Pál <kornelpal@gmail.com>
94 * CodePageEncoding.cs: Corrected comments.
95 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
96 ArgumentExceptions in private constructors.
97 * SurrogateEncoder.cs: Corrected comments.
99 2006-07-05 Kornél Pál <kornelpal@gmail.com>
101 * CodePageEncoding.cs: Return the same real object in subsequent
102 calls to GetRealObject ().
103 * MLangCodePageEncoding.cs: Return the same real object in
104 subsequent calls to GetRealObject (). Rename Encoder and Decoder
105 MLangEncoder and MLangDecoder. These classes are not serializable
106 in 1.x although MS.NET 2.0 can deserialize them.
107 * SurrogateEncoder.cs: Return the same real object in subsequent
108 calls to GetRealObject ().
110 2006-07-04 Kornél Pál <kornelpal@gmail.com>
112 * CodePageEncoding.cs: Added comment on usage.
113 * MLangCodePageEncoding.cs: Added comment on usage.
114 * SurrogateEncoder.cs: Added comment on usage.
116 2006-07-03 Kornél Pál <kornelpal@gmail.com>
118 * CodePageEncoding.cs: Added.
119 * MLangCodePageEncoding.cs: Added.
120 * SurrogateEncoder.cs: Added.
122 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
124 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
126 2006-06-24 Kornél Pál <kornelpal@gmail.com>
128 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
129 StreamReader should detect byte order marks.
131 2006-06-21 Kornél Pál <kornelpal@gmail.com>
133 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
136 2006-06-06 Kornél Pál <kornelpal@gmail.com>
138 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
139 profile 1.x as well because performance improvement is worth the
140 signature difference. (Fix regression of r61250.)
142 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
144 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
145 Marked 2.0-only members as ComVisible (false).
146 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
147 2.0-only members as ComVisible (false).
148 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
149 2.0-only members as ComVisible (false).
150 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
151 2.0-only members as ComVisible (false).
152 * NormalizationForm.cs: Marked ComVisible (true).
153 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
154 Marked 2.0-only methods as ComVisible (false).
155 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
156 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
157 missing ctor in 2.0 profile, and marked in MonoTODO.
158 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
159 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
161 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
163 * EncodingInfo.cs, Encoding.cs :
164 Implemented Encoding.GetEncodings(). It's so hacky!
166 2006-04-13 Kornél Pál <kornelpal@gmail.com>
168 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
169 as MS.NET does. This is a more reasonable high level wrapper
171 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
172 instead of using GetBytesInternal to be MS.NET compatible.
173 Override GetString (byte [], int, int) to speed up string creation.
175 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
177 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
179 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
181 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
182 check in some methods.
184 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
186 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
187 there are optimizations, but for now we need something just works).
189 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
191 * UTF8Encoding.cs : made internal implementation as pointer-based,
192 and added pointer-based converter method overloads.
194 2006-03-21 Kornél Pál <kornelpal@gmail.com>
196 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
199 2006-03-09 Zoltan Varga <vargaz@gmail.com>
201 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
203 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
205 * UTF8Encoding.cs : Fallback was indicating incorrect index.
208 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
210 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
211 in IL. 10% performance improvement.
213 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
215 * UTF8Encoding.cs : avoid possible overflow.
217 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
219 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
220 be checked. Also it should not ignore leftOver characters even if
221 byte buffer length is 0.
223 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
225 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
226 and InternalGetBytes().
228 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
231 actually leftover bits needs more careful handleding. So it's
232 better to be rather close to the original GetBytes().
233 Also changed leftOver handling so that it will be able to support
236 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
239 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
240 pointers. However, InternalGetBytes() was slower than
241 GetBytes(string, ...), so first replaced existing InternalGetBytes()
242 with GetBytes() internals, and GetBytes(string, ...) switched to
243 InternalGetBytes(). Now GetBytes() implementation code is reduced
246 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
248 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
249 Now it handles the entire bytes, not just half of them.
251 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
253 * UTF8Encoding.cs : zero-length check was wrong. Check it by
254 "charIndex == chars.Length" instead of "charCount == 0".
256 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
258 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
259 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
261 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
263 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
264 this time InternalGetChars() as well.
266 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
268 * StringBuilder.cs: Avoid computing computation for the string
271 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
273 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
276 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
278 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
281 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
283 * UTF7Encoding.cs UTF8Encoding.cs :
284 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
285 Make strict check for invalid surrogate.
287 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
289 * EncoderFallbackException.cs EncoderExceptionFallback.cs
290 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
291 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
292 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
293 DecoderFallbackException.cs DecoderExceptionFallback.cs
294 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
295 EncoderReplacementFallbackBuffer.cs :
296 include them in net_2_0bootstrap build.
298 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
300 * Decoder.cs : ditto.
302 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
304 * Encoder.cs : Fallback should be initialized to have an instance.
306 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
308 * Encoding.cs : Cloned instances should not be read-only.
310 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
312 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
314 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
316 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
317 byte*-based GetBytes().
318 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
319 which came to happen after introducing fallback buffer.
321 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
323 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
326 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
328 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
329 Added FallbackBuffer.
330 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
332 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
334 * EncodingInfo.cs : new file.
336 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
338 * UTF32Encoding.cs : Sealed. Added the overload which has
339 throwOnInvalid parameter.
340 * NormalizationForm.cs : removed [Serializable].
342 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
344 * Encoding.cs : added UTF32.
346 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
348 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
351 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
353 * UTF32Encoding.cs : new file.
355 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
357 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
358 * Encoding.cs : changed default fallback selection. Seems like only
359 ASCII and GB18030 uses '?' for replacement.
360 * UTF8Encoding.cs : now that Fallback is read only by default, we
363 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
365 * UTF8Encoding.cs : safer UTF8Decoder ctor.
367 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
369 * Decoder.cs : added FallbackBuffer property.
370 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
373 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
375 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
377 * EncoderReplacementFallbackBuffer.cs : implemented.
378 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
381 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
383 * DecoderFallbackBuffer.cs : Reset() does nothing here.
384 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
385 bytesUnknown is used.
387 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
389 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
391 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
393 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
394 * Encoder.cs : Added Fallback property.
395 * Decoder.cs : Added Fallback property.
397 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
399 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
400 EncoderExceptionFallbackBuffer.cs,
401 EncoderReplacementFallbackBuffer.cs,
402 EncoderFallbackException.cs,
403 EncoderExceptionFallback.cs,
404 EncoderReplacementFallback.cs : new files (not actually used yet).
405 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
406 DecoderReplacementFallback.cs : [Serializable] and sealed.
407 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
409 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
411 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
412 DecoderExceptionFallbackBuffer.cs,
413 DecoderReplacementFallbackBuffer.cs,
414 DecoderFallbackException.cs,
415 DecoderExceptionFallback.cs,
416 DecoderReplacementFallback.cs : new files (not actually used yet).
418 2005-11-14 Miguel de Icaza <miguel@novell.com>
420 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
423 Also add some checks that were missing.
425 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
427 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
428 were failing under 2.0) and two possible integer overflow in CopyTo.
430 2005-11-11 Miguel de Icaza <miguel@novell.com>
432 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
434 * StringBuilder.cs (Text): Added serialization support in 2.x.
436 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
438 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
439 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
440 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
441 ((ch & 0xFE) == 0xFC).
443 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
445 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
446 Don't exclude FEFF in the resulting text.
448 2005-06-21 Ben Maurer <bmaurer@ximian.com>
450 * StringBuilder.cs (Replace): Do the correct thing when we replace
451 with a longer string. Thanks to Alexander Beznozdrev
452 <abeznozdrev@croc.ru>
454 2005-05-26 Ben Maurer <bmaurer@ximian.com>
456 * Encoding.cs: Use static object for locking. `volatile' to
457 prevent double checked locking error.
459 * StringBuilder.cs: Remove = null inits on fields, saves a few
460 instructions. When we compare _cached_str == _str, we are only
461 interested in pointer based equality, so just do that.
463 2005-05-06 Ben Maurer <bmaurer@ximian.com>
465 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
466 the size we attempt to grow to is more than the max capacity, but
467 that a smaller size will do. In this case, don't throw an
468 exception. Fixes #72244
470 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
472 * NormalizationForm.cs : new file.
474 2005-03-20 Ben Maurer <bmaurer@ximian.com>
476 * StringBuilder.cs (set_Length): If we set the length, we must
477 clobber the cached string.
479 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
484 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
486 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
487 whose length is greater than 3. Patch by Svetlana Zholkovsky.
489 2005-01-31 Ben Maurer <bmaurer@ximian.com>
491 * StringBuilder.cs (Remove): We need to do the check that the
492 string isnt being cached *before* we munge it.
494 2005-01-21 Ben Maurer <bmaurer@ximian.com>
496 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
497 lazily. This saves us lots of memory if you only use the
498 stringbuilder once. Also, we can allocate on the second Append,
499 which might reduce the number of buffers allocated.
501 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
503 * StringBuilder.cs: Improved parameter check.
505 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
507 * StringBuilder.cs: when creating the StringBuilder from a string, the
508 maximum capacity remains Int32.MaxValue.
510 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
512 * StringBuilder.cs: throw if the new size is greater than the maximum
513 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
516 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
518 * UTF7Encoding.cs: Fixed warning for unused variable.
520 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
522 * Encoding.cs: Add encoding name "latin1" for compatibility with
525 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
527 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
529 2004-09-09 Tim Coleman <tim@timcoleman.com>
531 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
533 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
535 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
536 Follow the RFC1642 rules for "overbits".
538 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
540 * ASCIIEncoding.cs: added TODO for serialization
541 * StringBuilder.cs: added TODO for serialization
542 * UnicodeEncoding.cs: added TODO for serialization
543 * UTF7Encoding.cs: added TODO for serialization
544 * UTF8Encoding.cs: added TODO for serialization
546 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
548 * Encoding.cs: Marked protected internal field as internal to
551 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
553 * UTF8Encoding.cs : Length check must be done only when the character
554 sequence is valid (i.e. should not check when it is overlongs).
555 See also TestThrowOnInvalid().
557 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
559 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
561 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
563 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
564 true. Otherwise just ignore them.
566 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
568 * StringBuilder.cs: Fixed potential integer overflows in several
571 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
573 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
574 pair. This fix bug #57009 (and 2 failing unit tests). Added code
575 to check for some (like MS) overlongs.
577 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
579 * Encoding.cs: Use name const to load I18N assembly.
581 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
583 * Encoding.cs: Call shortcut String.ToLowerInvariant
585 2004-04-13 Miguel de Icaza <miguel@ximian.com>
587 * Encoding.cs: Use new internal codepage setup.
589 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
591 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
593 2004-03-19 Dick Porter <dick@ximian.com>
595 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
596 BOM at the beginning of the range of characters we're interested
597 in, not at the beginning of the array. Fixes bug 51531.
599 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
602 (Insert int, char[]): fix by using new string(char[]) instead of
603 char[].ToString() and simplify.
604 (Insert int, string, int): add LAMESPEC note.
605 (Insert int char[], int, int): handle value==null according to spec.
606 Use a string instead of char array + Array.Copy (gonzalo)
608 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
611 (Append (string)): remove redundant check.
613 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
616 (Remove): fixed offsets when copying and set the new size. Fixes bug
619 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
621 * StringBuilder.cs: added checks for null in a few Append methods.
623 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
625 * StringBuilder.cs: fixed start offset in Append(char).
627 2004-01-12 Patrik Torstensson
629 * StringBuilder.cs: new implementation that uses
630 string as a buffer instead of a array of chars.
632 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
634 * UTF8Encoding.cs (GetBytes string): Do not call base
635 The version in Encoding will call string.ToCharArray (),
636 allocating an extra array. By calling the better method
637 in our own class we can save memory.
639 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
641 * StringBuilder.cs (Insert int, char): It is really silly and
642 wasteful to allocate an array here. We can just copy the value
645 2003-11-11 Miguel de Icaza <miguel@ximian.com>
647 * Encoding.cs: Use an internal variable to track the parameters of
648 each encoder, since the .NET API does not expose virtual methods
649 in the child classes, we should not depend on that.
651 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
652 Initialize the parameters for base class encoding here.
654 2003-09-01 Miguel de Icaza <miguel@ximian.com>
656 * Encoding.cs (UTF8Unmarked): make it also not error out on
657 invalid input, that is what the Microsoft default is for the
658 StreamReader and BinaryReader expect (our main consumers).
660 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
663 (AppendFormat) Use FormatHelper in System.String to avoid
664 allocating an extra StringBuilder.
665 (Append string, int, int), (Append char, int): Both were
666 allocating extra strings.
668 2003-06-05 Nick Drochak <ndrochak@gol.com>
670 * UTF8Encoding.cs: Cleanups according to class status page
672 2003-05-10 Miguel de Icaza <miguel@ximian.com>
674 * Encoding.cs (GetEncoding): Add all the aliases documented in the
675 framework. We were missing a few.
677 Reorganize the table. Also, convert the input name into the
678 lower-case - to _ before we compare against our table.
680 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682 * StringBuilder.cs: fixed bug #41397.
684 2003-04-12 Miguel de Icaza <miguel@ximian.com>
686 * Encoding.cs: Enabled the code paths that we did have commented
687 out, they seem to work now.
689 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
691 * StringBuilder.cs: cache the result from ToString().
693 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
695 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
696 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
698 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700 * ASCIIEncoding.cs: fixed bug #38984.
702 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
705 * Latin1Encoding.cs: fix GetString (byte[]) and
706 GetString (byte[], int, int) for zero-length case.
708 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
710 * Latin1Encoding.cs: added Serializable attribute.
712 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714 * Encoding.cs: removed UnixConsoleEncoding.
716 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
718 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
719 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
720 This fixes the StringBuilder unit tests.
722 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
724 * StringBuilder.cs: fixed typo in set_Length.
726 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
728 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
729 encoding is not found, default to UTF8Unmarked. Removed comment in
730 UnixConsoleEncoding, because it's now Default, which gets the
731 encoding internally using g_get_encoding ().
733 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
735 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
737 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
739 * UTF8Encoding.cs: fix GetByteCount (), too.
741 2002-11-19 Miguel de Icaza <miguel@ximian.com>
743 * UnicodeEncoding.cs: the bytemark should only be used to return
744 information in GetPreamble, not to actually encode the information
745 on the stream. That is taken care of by the Stream classes.
747 * UTF8Encoding.cs: ditto.
749 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
751 * StringBuilder.cs: only move the remaining chars in Remove.
753 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
755 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
756 locking whenever possible.
758 2002-10-30 Miguel de Icaza <miguel@ximian.com>
760 * Encoding.cs (UTF8Unmarked): New static property, used to return
761 a no-markers UTf8 encoder, used in a few places in the class library.
763 2002-09-06 Miguel de Icaza <miguel@ximian.com>
765 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
766 what the Microsoft version does.
768 (UnixConsoleEncoding): New internal method, used to get the
769 encoding, in the future, this should pull the locale, map to
770 charset and then code page.
772 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
774 * Encoding.cs: use icall to get default codepage.
775 * DefaultEncoding.cs: remove useless class.
777 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
779 * *.cs: change to conform to mono coding style.
781 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
789 * UnicodeEncoding.cs: added Serializable attribute.
791 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793 * StringBuilder.cs: improved performace by using String.InternalCopyTo
794 instead of using ToCharArray all over the place (more that 50% of
795 speed improvement when using Append).
797 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
799 * *.cs: imported the code donated by Rhys Weatherley
800 <rweather@southern-storm.com.au>.
802 2002-08-18 Dick Porter <dick@ximian.com>
804 * Encoding.cs: Make GetString() return a useful representation of
805 the bytes, rather than "System.Char[]"
807 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
809 * StringBuilder.cs: added IndexerName to indexer.
811 2002-08-01 Jason Diamond <jason@injektilo.org>
813 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
814 converting chars to bytes.
816 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
818 * StringBuilder.cs: updated comments. MaxCapacity always returns
821 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
823 * StringBuilder.cs: implemented AppendFormat methods using
824 String.Format. Thanks Paolo!
826 This makes xsp generate correct C# output in linux :-). I still need
827 to do more testing, though.
829 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
831 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
833 2002-05-19 Martin Baulig <martin@gnome.org>
835 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
836 Added exception handling.
838 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
839 Added exception handling.
841 2002/04/02 Nick Drochak <ndrochak@gol.com>
843 * StringBuilder.cs (Append): Removed obsolete overload.
845 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
847 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
849 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
851 * StringBuilder.cs: no need to intern the string returned by ToString().
853 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
855 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
856 dependent on iconv icalls.
857 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
860 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
862 * StringBuilder.cs: make ToString() return a interned string, this
863 seems to be required to make switch on string work.
865 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
867 * StringBuilder.cs: make Append(char) do the smart thing.
869 2002-01-05 Ravi Pratap <ravi@ximian.com>
871 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
872 UnicodeEncoding.cs: MonoTODO attribute marking.
874 * StringBuilder.cs : Ditto.
876 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
878 * Encoding.cs: renamed some fields.
879 * StringBuilder.cs: CLSCompliant updates.
881 2001-10-29 Nick Drochak <ndrochak@gol.com>
883 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
884 invalid. Just like MS does (as best as I can tell).
886 Tests for these exceptions are now added to the unit tests as well.
888 2001-10-25 Nick Drochak <ndrochak@gol.com>
890 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
891 whose capacity is greater than the MaxCapacity.
893 I added some tests for the constructors and the above exception. More
896 2001-10-23 Nick Drochak <ndrochak@gol.com>
898 * StringBuilder.cs: Refactored constructor code into just one
899 constructor. All the other construtors call it. Also supplied missing
900 constructors so the class has all those in the spec.
902 Added the MaxCapacity property as well, however this needs to be
903 completed to return a value is related to the available system memory.
905 2001-10-07 Miguel de Icaza <miguel@ximian.com>
907 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
908 UnicodeEncoding.cs: Corrected API.
910 * UTF8Encoding.cs: Checked in changes from Rafael.
912 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
914 * UTF8Encoding.cs: impl. clumsy GetBytes
916 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
918 * StringBuilder.cs (Text): Fixed.
920 * StringBuilderTest.cs: Implement Test suite.
922 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
924 * StringBuilder.cs: Implemented.
926 The only methods left unimplemented are the AppendFormat( ... )
927 ones just because it's probably better to wait until some of the
928 Format related classes are implemented. I've put that as a TODO
929 comment at the top and created the methods with a "nop" body.
931 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
933 * UnicodeEncoding.cs: Members added so that a clean compile is
936 * ASCIIEncoding.cs: Members added so that a clean compile is
939 * UTF7Encoding.cs: Members added so that a clean compile is
942 * UTF8Encoding.cs: Members added so that a clean compile is
945 * Encoding.cs: All public members included. Most members