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